【MySQL数据库基本操作03--约束】

MySQL数据库基本操作03–约束

constraint 表中数据的限制条件

类型英文
主键约束primary key
自增长约束auto_increment
非空约束not null
唯一性约束unique
默认约束default
零填充约束zerofill
外键约束foreign key

1. 主键约束

1.1 单列主键

在这里插入图片描述

# 方法1:在创建表时规定主键
create table student(
	stu_id int primary key,
	name varchar(20));
# 方法2:定义字段后再指定主键,constraint pk1 可省略
create table student(
	stu_id int,
	name varchar(20),
	constraint pk1 primary key stu_id);

1.2 联合主键

在这里插入图片描述

create table emp3(
	name varchar(20),
	dept_id int,
	salary double,
	primary key(name,dept_id));

注:联合主键各列,不完全相同即可,任意列都不能为空

1.3 通过修改表结构添加主键

在这里插入图片描述

create table emp3(
	name varchar(20),
	dept_id int,
	salary double,
	);
alter table emp3 add primary key(name,dept_id);

1.4 删除主键

在这里插入图片描述

alter table emp3 drop primary key;

2. 自增长约束

2.1 概念及特点

在这里插入图片描述

create table t_user1(
	id int primary key auto_increment,
	name varchar(20));
insert into t_user1(name) values('张三');

在这里插入图片描述

2.2 指定自增字段初始值

# 方式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;

delete删除自增列后,自增长从断点开始

truncate则从默认起始值开始

3. 非空约束

在这里插入图片描述

# 方式1
create table t_user(
	id int,
	name varchar(20) not null);
# 方式2
create table t_user(
	id int,
	name varchar(20));
alter table t_user modify name varchar(20) not null;
# 删除非空约束
alter table t_user modify name varchar(20);

4. 唯一约束

在这里插入图片描述

# 方式1
create table t_user(
	id int unique,
	name varchar(20));
# 方式2
create table t_user(
	id int,
	name varchar(20));
alter table t_user add constraint unique_id unique(id);
# 删除唯一约束
alter table t_user drop index id;

注:MySQL中,null和任何值都不相同,即null != null

5.默认约束

在这里插入图片描述

# 方式1
create table t_user(
	id int ,
	name varchar(20),
	address varchar(20) default '北京');
# 方式2
create table t_user(
	id int,
	name varchar(20),
	address varchar(20));
alter table t_user modify address varchar(20) default '北京';
# 删除默认约束
alter table t_user modify address varchar(20) default null;

6. 零填充约束

在这里插入图片描述

create table t_user(
	id int zerofill ,
	name varchar(20),
	);
insert into t_user values(123,'张三');  # 0000000123
# 删除零填充约束
alter table t_user modify id int;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值