MySQL 语句学习笔记汇总(一)
Note:
- DDL:drop,create,alter…
- DML:insert,update,delete
- DQL:select
- DCL:grant,revoke,commit,rollback…
一、创建表
样式:
CREATE TABLE <表名>
(字段名1 数据类型 [列级别约束条件][默认值]
…
…
[表级别约束条件]
)
- 主键 PRIMARY KEY
e.g. id INT PRIMARY KEY; or id int , PRIMARY KEY(id); - 多字段联合主键
e.g. PRIMARY KEY(name ,deptId); - 外键约束 FOREIGN KEY
e.g. CONSTRAINT fk_emp_dept FOREIGN KEY(deptId)
REFERENCES tb_dept(id) - 非空约束 NOT NULL
- 唯一性约束(数据唯一,可为一次NULL,不可做外键) UNIQUE
e.g. name VARCHAR(20) UNIQUE; or CONTRAINT STH(约束名) UNIQUE (name); - 默认约束 DEFAULT
e.g. sex VARCHAR(10) DEFAULT ‘男’; - 自增(必是主键)
e.g. id INT PRIMARY KEY AUTO_INCREMENT;
二、查看表结构
- 查看表结构
e.g. DESCRIBE 表名; or DESC 表名; - 查看表详细结构
e.g. SHOW CREATE TABLE<表名>;
三、修改数据表
- 修改表名
e.g. ALTER TABLE T1 RENAME T2; - 修改字段类型
e.g. ALTER TABLE T1 MODIFY name varchar(20); - 修改字段名
e.g. ALTER TABLE T1 CHANGE name1 name2 varchar(20); - 添加字段
e.g. ALTER TABLE T1 ADD name varchar(20) (UNIQUE AFTER Id); - 删除字段
e.g. ALTER TABLE T1 DROP name; - 修改字段排序
e.g. ALTER TABLE T1 MODIFY name varchar(20) AFTER Id; (/FIRST) - 更改表的存储引擎
e.g. ALTER TABLE T1 ENGINE = XXX; - 删表外键
e.g. ALTER TABLE T1 DROP FOREIGN KEY fk_this_that;
四、删除数据表
- 删除没有关联的表
e.g. DROP TABLE [IF EXISTS] TEST; - 删除被其他表关联的表
解除外键;
删除父表;