1. 快速创建表(不常用):create table 表名 as select * from 表名;或 create table 表名 as select 字段1,字段2,... from 表名 where 筛选条件;
2. 查询结果插入表(不常用):insert into 表名 select 字段1,字段2,... from 表名 where 筛选条件;
3. 删除
delete语句:只是删除记录中的数据,但是数据在硬盘上的存储空间不释放,可以回滚数据,但是效率低;
truncate语句:物理删除,表被一次截断,不支持回滚,但是很快;
drop table 表名,删表;
4. 修改表的结构尽量使用可视化工具修改;
5. 约束
1. 约束种类:非空约束(not null)、唯一性约束(unique)、主键约束(primary key,PK)、外键约束(foreign key,FK)、检查约束(MySQL不支持)
非空约束:只有列级约束,没有表级约束。没其他好说的,有个知识点,执行sql脚本文件的指令:source 路径 \ 文件名.sql;
唯一性约束:unique约束的字段值不能重复,但是可以为null;
多字段复合唯一性约束(unique(字段名1,字段名2));
主键:不能为空,主键唯一;建议使用int,bigint,char等类型设置主键;设置主键的语法百度;
单一主键和复合主键,不建议使用联合主键,多字段复合主键(primary(字段名1,字段名2)),在SQL语句最后;
自然主键(自然数做主键,尽量使用自然主键)和业务主键(和业务相关);
注:如果一个字段同时为 not null 和 unique,自动变成 PK 字段;(oracle不是)
2. 外键约束(使一个表中的外键字段,必须是另一个表的某个字段的值)
格式:foreign key(字段名) references 外键的表名(字段名);
被作为外键的字段,可以为空,但是要有 unique 约束;
存在外键约束的表的操作顺序:
删除表:先删子,再删父;
创建表:先创建父,再创建子;
删除数据:先删子,再删父;
插入数据:先插入父,再插入子;
6. 存储引擎:表存储/组织数据的方式,不同的存储引擎,表存储数据的方式不同;
语句:show create table 表名;//可以查看到创建表时候的语句,在最后可以添加 ENGINE 来指定存储引擎,CHARSET 指定字符编码方式
mysql> show create table dept; +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | dept | CREATE TABLE `dept` ( `DEPTNO` int(2) NOT NULL, `DNAME` varchar(14) DEFAULT NULL, `LOC` varchar(13) DEFAULT NULL, PRIMARY KEY (`DEPTNO`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
7. 各种存储引擎
标签:MySQL,外键,约束,字段名,表名,老杜,unique,主键,days.04 From: https://www.cnblogs.com/LinxhzZ/p/16728339.html