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))

image

查看錶上的索引

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;

image

如果不指定就使用默認的存儲引擎

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

show table status

image

SHOW TABLE STATUS [{FROM | IN} db_name]

[LIKE 'pattern' | WHERE expr]

like用於模糊匹配,支持通配符

_:匹配任意單個字符

%:匹配任意長度任意字符

查看一個表是用什麼存儲引擎:

show table status like ‘student’ \G

最後不加大寫G不會出來

image

表選項:

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空間索引

image

刪除索引,help drop index

DROP INDEX index_name ON tbl_name

查看索引

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

image

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] ... ]

image

DELETE FROM tbl_name

[WHERE where_condition]

[ORDER BY ...]

[LIMIT row_count]

image

SELECT

DISTINCT

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

select_expr [, select_expr ...]

[FROM table_references

[WHERE where_condition]

[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…可以等於 >= … <=

image

模糊查詢,LIKE %代替任意個單位

image

RLIKE ‘pattern’正則表達式匹配。

image

組合條件 AND OR NOT

distinct,用來去重

image

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

[ASC | DESC], ...]

image

UPDATE [LOW_PRIORITY] [IGNORE] table_reference

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

[WHERE where_condition]

[ORDER BY ...]

[LIMIT row_count]

image

用戶及權限管理90:00

用戶賬號 username@host

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

CREATE USER ‘username’@‘hostname’

創建用戶,設置密碼

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

image

刪除用戶

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

image

用戶授權:

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

如果用戶不存在,就創建此賬號並授權。

ALL [PRIVILEDGE]

image

查看用戶已獲得的授權

image

收回授權:REVOKE

REVOKE 權限 on dbname.tablename from user@host

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章