DDL: 資料定義語言;
CREATE, ALTER, DROP
DB元件:資料庫、表、索引、視圖、使用者、存儲過程、存儲函數、觸發器、事件排程器等
CREATE相關的常用指令:
CREATE DATABASE
CREATE EVENT
CREATE FUNCTION
CREATE FUNCTION UDF
CREATE INDEX
CREATE PROCEDURE
CREATE SERVER
CREATE TABLE
CREATE TABLESPACE
CREATE TRIGGER
CREATE USER
CREATE VIEW
DML:資料操作語言;
INSERT, DELETE, UPDATE, SELECT
資料庫:
CREATE, ALTER, DROP
{DATABASE|SCHEMA}
[IF EXISTS]
[IF NOT EXISTS] #不存在才建立
表:二維關系
設計表:遵循規範;
定義:字段,索引
字段:字段名,字段資料類型,修改符
限制,索引:應該建立在經常用作查詢條件的字段上;
索引:實作級别在存儲引擎;
分類:
稠密索引、稀疏索引
B+索引、hash索引、R樹索引、FULLTEXT索引(全文索引)
聚集索引、非聚集索引
簡單索引、組合索引
建立表:CREATE TABLE
(1) 直接建立;
(2) 通過查詢現存的表建立;新表會被直接插入查詢而來的資料;
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options]
[partition_options]
select_statement
(3) 通過複制現存的表的表結建構立;不複制資料;
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }
mysql> SHOW GLOBAL VARIABLES LIKE '%default%engine%'; #檢視表引擎
+----------------------------+--------+
| Variable_name | Value |
+----------------------------+--------+
| default_storage_engine | InnoDB |
| default_tmp_storage_engine | InnoDB |
+----------------------------+--------+
2 rows in set (0.00 sec)
注意:Storage Engine是指表類型,也即在表建立時指明其使用的存儲引擎;
同一個庫中表要使用同一種存儲引擎類型;
檢視表結構:
DESCRIBE tbl_name;
檢視表狀态資訊:
SHOW [FULL] TABLES [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
mysql> SHOW TABLE STATUS LIKE 't1'\G
*************************** 1. row ***************************
Name: t1
Engine: InnoDB
Version: 10
Row_format: Compact #行格式
Rows: 2 #已有的行數
Avg_row_length: 8192 #表中現有的所有行的平均長度
Data_length: 16384 #表中資料的大小
Max_data_length: 0 #表資料的最大容量,該值與存儲引擎有關 #0代表沒有上限
Index_length: 0 #索引大小
Data_free: 0 #目前已配置設定,但是沒有顯示
Auto_increment: 5 #自動增長字段
Create_time: 2019-01-29 13:27:33 #建立時間
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci #排序規則
Checksum: NULL #表的校驗和
Create_options: #建立表額外指定的其他選項
Comment: #注釋,包含了額外的其他資訊。
1 row in set (0.01 sec)
修改表:ALTER TABLE
增加字段 mysql> ALTER TABLE student ADD age varchar(20) NOT NULL;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM student;
+----+----------+---------------+------+-----+
| id | name | register_date | sex | age |
+----+----------+---------------+------+-----+
| 1 | ZhanYang | 2018-06-20 | NULL | |
| 4 | LiuJia | 2018-05-30 | NULL | |
| 8 | JiaLiu | 2018-06-20 | NULL | |
| 9 | JiaLiu | 2018-04-20 | NULL | |
| 10 | gaoyf | 2018-04-20 | NULL | |
| 11 | zhujh | 2018-04-20 | NULL | |
| 12 | zhouha | 2018-04-20 | NULL | |
| 13 | hanzb | 2018-04-21 | M | |
| 16 | ZhanXing | 2018-05-21 | M | |
| 17 | XingYan | 2018-05-21 | M | |
| 18 | Jinjiao | 2019-01-29 | M | |
| 19 | Jinjiao | 2019-01-29 | M | |
| 20 | Yinjiao | 2019-01-28 | F | |
+----+----------+---------------+------+-----+
13 rows in set (0.00 sec)
删除表:DROP TABLE
轉載于:https://blog.51cto.com/zhanx/2348156