MYSQL的约束条件

在这里插入图片描述

一、主键约束

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类型。、,即为无符号类型

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值