一、主键约束
1.特点:不能添加重复的值,并且值不能为NULL。
2.分类:
(1)单链主键
CONSTRAINT pk1 primary key(eid)
(2)联合主键:
就是由一张表中多个字段组成的。
primary key(字段1,字段2,……,字段n)
3.修改表结构,添加主键
添加单列主键:alter table emp4 add primary key(eid);
添加多列主键:alter table emp5 add primary key(name,deptid);
4.删除主键
alter table emp1 drop primary key;
二、自增长约束
1.特点:
自动赋值,每增加一条记录,主键会自动以相同的步长进行增长。
2.语法:字段名 数据类型 auto_increment
3.自增长时的初始值:
(1)在创建表时候声明
create table t_user2(
id int primary key auto_increment,
name varchar(20)
)auto_increment = 100;
(2)在创建表之后声明:
create table t_user3(
id int primary key auto_increment,
name varchar(20));
alter table t_user3 auto_increment = 200;
4.注意delete与truncate删除数据后自增长值的变化:
(1) delete删除数据的时候,字增长还是在最后一个值的基础上加1
(2)truncate 删除数据之后,自增长从1开始
(3) 默认情况下,auto_increment的初始值是1,每新增一条记录,字段值自动加1
每一个表中只能含有一个自增长约束
auto_increment约束字段必须具备NOT NULL属性
auto_increment 约束的字段只能是整数类型
auto_increment约束字段的最大值受该字段数据类型约束
3.非空约束:
1.创建表的时候声明:
create table t_user6(
id int,
name varchar(20) not NULL,
address varchar(20) not null);
2.创建表之后声明:
create table t_user7(
id int,
name varchar(20) ,
address varchar(20));
alter table t_user7 modify name varchar(20) not null;
alter table t_user7 modify varchar(20) not null;
3.删除非空约束:
alter table t_user7 modify name varchar(20) ;
alter table t_user7 modify varchar(20) ;
四、唯一约束
方式1: <字段名><数据类型>unique
create table t_user8
(
id int,
name varchar(20),
phone_number varchar(20) unique
);
方式2:alter table 表名 add constraraint 约束名 unique(列);
create table t_user9
(
id int,
name varchar(20),
phone_number varchar(20) unique
);
3.删除唯一约束
格式:alter table <表名> drop index <唯一约束名>;
五、默认约束:
方式1:<字段名><数据类型> default <默认值>
create table t_user10(
id int,
name varchar(20),
address varchar(20) default '北京'
);
insert into t_user10(id,name)values(1001,'张三');
insert into t_user10(id,name,address)values(1001,'张三','上海');
方式2:创建表之后:
create table t_user11(
id int,
name varchar(20),
address varchar(20)
);
alter table t_user11 modify address varchar(20) default '深圳';
六、零填充约束
1.关键字
zerofill
2.特点:
a.当给数据类型设置该约束,则左边不够指定的整形长度时,则自动补充0
b.默认零填充约束的数字int(10)
c.指定零填充约束的列为ubsigned类型。、,即为无符号类型