三、约束条件
1、默认:default
例:create table 表名(id int default 2);
演示如下:
- (1)创建一个名为new_one的表,并设置默认值:default 2
(2)当不写id值时,则默认id值为2
当写入id值时,就会按写入的id值写入
2、非空:not null
例:create table 表名(id int not null); (意思是设置id为非空值,表示写入id时不能为空)
演示如下:
3、唯一:unique key
例: create table 表名(id int unique key); (表示的意思是id中不能有重复的值,只能由唯一的值)
演示如下:
- 创建一个具有唯一性的表
在表中写入两个相同的id值,报错
4、主键:primary key
- primary key :非空+唯一,每张表只允许由一个主键
例:create table 表名(id int primary key, name varchar(20));
5、自增长:auto_increment
例:create table 表名(id int auto_increment,name varchar(20), primary key(id));
primary key(id):设置id为主键
演示如下:
- (1)创建一个名为four_one的表
向表中写入几个空的数据,id的值会自动从1向上增长
6、设定初始值
例:create table 表名(id int auto_increment, primart key(id))auto_increment=10;
auto_increment=10:id的值从10开始向上增长
演示如下:
- (1)创建一个名为one的表
向表中写入几个空的数据,id的值会自动从10向上增长
7、外键:foreign key
假设某一个字段是某个表的外键时,那么该字段必须是主键。
外键的作用:使两张表关联,保证数据的一致性和实现一级联操作。
演示如下:
- (1)创建一个A表
create table A(id int primary key, name varchar(20));
- (2)创建一个B表
create table B(B_id int primary key, age int, foreign key(B_id) references A(id));
foreign key(B_id):B_id是外键,有外键的是从表
references 表名(字段名):关联的是表名和字段
(3)外键里能够插入的数据一定是主键里面有的数据
添加字段:先操作主表,再去从表添加
删除数据:先删除从表,再去主表删除
8、删除主外键约束
(1)删除外键约束
先获取外键名再去删除外键约束
- 查看表创建语句
show create table 表名;
- 找到键名后,删除外键约束
alter table 表名 drop foreign key 外键名;
(2)删除主键约束
alter table 表名 A drop primary key;
如果A表还跟其他表有关联,要先删除从表的外键,再删除主表的主键。
(3)主外键的区别
主键:唯一标识,不能有重复,不能为空。
外键:是另一个表的主键。