天天看點

MariaDB基礎

設計範式:

1、 字段是原子性,不可再分割

2、 應該有主鍵

3、 2個表不應該有相同的非主鍵字段

MariaDB的安裝

1、 源碼編譯

2、 通用2禁止格式

3、 rpm包

視圖

實體視圖 系統管理者

邏輯視圖 DBA

視圖模型 終端使用者

SQL接口

1、 DDL

a) CREATE DATABASE,TABLE

b) ALTER DATABASE

c) DROP DATABASE,TABLE

2、 DML

DDL:

MariaDB基礎

表管理:

建立表時候可以建立索引

CREATE TABLE (create_defination)

col_name col_defination| PRIMARY KEY (colname)

可以建立在單個字段上交 單鍵 column_name

建立在多個字段上的鍵角 組合鍵

create table teachers(tid INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY,tName VARCHAR(50) NOT NULL,AGE TINYINT UNSIGNED,Gender ENUM('F','M') Default 'M',dazhao VARCHAR(100),UNIQUE KEY(tName,dazhao))

MariaDB基礎

檢視表上的索引

SHOW {INDEX | INDEXES | KEYS}

{FROM | IN} tbl_name

[{FROM | IN} db_name]

[WHERE expr]

alter table

alter table student modify girlID TINYINT UNSIGNED NOT NULL after GENDER;

想改字段名,用change,隻改字段定義,用modify

drop删除字段

mysql的重要特性,插件式存儲引擎

show engines;

MariaDB基礎

如果不指定就使用預設的存儲引擎

存儲引擎又叫做表類型,建立表的時候可以指定表類型。建議同一個庫内用一個存儲引擎

show table status

MariaDB基礎

SHOW TABLE STATUS [{FROM | IN} db_name]

[LIKE 'pattern' | WHERE expr]

like用于模糊比對,支援通配符

_:比對任意單個字元

%:比對任意長度任意字元

檢視一個表是用什麼存儲引擎:

show table status like ‘student’ \G

最後不加大寫G不會出來

MariaDB基礎

表選項:

ENGINE = engine_name

步驟:

1、 show databases檢視有什麼資料庫

2、 use database資料庫名

3、 show tables 檢視有哪些表

4、 desc table 看看表裡啥結構

索引管理

索引,建立删除檢視,不能修改

建立索引,help create index

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON tbl_name

SPATIAL空間索引

MariaDB基礎

删除索引,help drop index

DROP INDEX index_name ON tbl_name

檢視索引

SHOW {INDEX | INDEXES | KEYS} {FROM | IN} tbl_name

MariaDB基礎

DML

INSERT, DELETE, SELECT, UPDATE

操作表中資料的。

INSERT [INTO] tbl_name [(col_name,...)]

{VALUES | VALUE} ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE

col_name=expr

[, col_name=expr] ... ]

MariaDB基礎

DELETE FROM tbl_name

[WHERE where_condition]

[ORDER BY ...]

[LIMIT row_count]

MariaDB基礎

SELECT

DISTINCT

[SQL_CACHE | SQL_NO_CACHE] //SQL_CACHE放在查詢緩存中

select_expr [, select_expr ...]

[FROM table_references

[GROUP BY {col_name | expr | position}

[ASC | DESC], ... [WITH ROLLUP]]

[HAVING where_condition]

[ORDER BY {col_name | expr | position}

[ASC | DESC], ...]

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

where後的條件表達式:

>,<,>=,<=,==,!=

between … and…可以等于 >= … <=

MariaDB基礎

模糊查詢,LIKE %代替任意個機關

MariaDB基礎

RLIKE ‘pattern’正規表達式比對。

MariaDB基礎

組合條件 AND OR NOT

distinct,用來去重

MariaDB基礎

[ORDER BY {col_name | expr | position}排序

MariaDB基礎

UPDATE [LOW_PRIORITY] [IGNORE] table_reference

SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...

MariaDB基礎

使用者及權限管理90:00

使用者賬号 username@host

host可使用IP,網羅位址,通配符(_%);

CREATE USER ‘username’@‘hostname’

建立使用者,設定密碼

CREATE USER ‘soars’@’192.168.%.% identified by ‘123’’

MariaDB基礎

删除使用者

DROP USER ‘soars’@’192.168.%.%’

MariaDB基礎

使用者授權:

GRANT priv1, on dbname.table to ‘user’@’host’[Identified by password

如果使用者不存在,就建立此賬号并授權。

ALL [PRIVILEDGE]

MariaDB基礎

檢視使用者已獲得的授權

MariaDB基礎

收回授權:REVOKE

REVOKE 權限 on dbname.tablename from user@host

上一篇: 安裝MariaDB
下一篇: mariadb日志

繼續閱讀