一、数据库的完整性约束
1. 主键:primary key
2. 外键:foreign key
3. 非空:not null
4. 检查:enum/set
5. 默认值:default
6. 唯一:unique
7. 自增长:auto_increment
二、数据库的三大范式
1. 确保每列保持原子性
2. 确保每列的唯一性
3. 确保每列都和主键直接相关
三、数据定义语言:DDL
作用:创建、删除、修改库表结构
四、DDL
#进入数据库
mysql -u root -p
(密码)
#查看数据库
show databases;
#切换数据库
use 数据库名;
#创建数据库
create database 数据库名;
#删除数据库
drop database 数据库名;
#修改数据库的字符集
alter database 数据库名 character set=UTF8;
#创建外键(主键外键类型必须一样)
alter table 表名 add foreign key (外键名) references 主表名(主键名);
#删除外键
alter table 表名 drop foreign key (外键名);
#创建主键
alter table 表名 add primary key (主键名);
#删除主键
alter table 表名 drop primary key;
#创建表(应先切换需要的数据库)
create table 表名(
列名 列类型 其他关键词,
...
列名 列类型 其他关键词,
primary key (主键名)
);
#复制一张表的结构和数据
creat table 新表名 as (select * from 被复制的表名);
#复制一张表结构
create table 新表名 like 被复制的表名;
#查看数据表结构
desc 表名;
#查看创建表的sql语句
show create table 表名;
#删除表
drop table 表名;
#修改列类型
alter table 表名 modify 列名 列类型(修改后的);
#修改列名、列类型
alter table 表名 change 原列名 新列名 列类型;
#添加表字段
alter table 表名 add(
列名 列类型,
...
);
#添加表字段到某列后
alter table 表名 add 新列名 列类型 after 列名;
#删除表的某一列
alter table 表名 drop 列名;
#修改表的名字
alter table 表名 rename 新表名;