主键约束、唯一约束、自增长列怎么使用

主键约束(primary key)
特点:不能为空,不重复

 ##没有约束
create table stu0(
	id int,
	name varchar(50)
);
insert into stu0(name) value("张三丰");
##方式一:创建表,并且添加主键约束
create table stu1(
	id int primary key,
	name varchar(50)
);
##方式二:
create table stu2(
	in int,
	name varchar(50),
	primary key(id,name)
);
成功: insert into stu1(id,name) value(2,"张三丰");成功
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(50) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
成功:insert into stu1(id,name) value(2,'张三疯');

测试一:insert into stu1(id,name) value(null,"张三疯");
		ERROR 1048 (23000): Column 'id' cannot be null
测试二:
	插入重复值:报错
	ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'
select * from stu1;

唯一约束(unique)

      不重复,可以为空

##给名字 添加 唯一的 约束
create table stu3(
	id int primary key,
	name varchar(50) unique
);

insert into stu3(id,name) value(1,"张三丰");

insert into stu3(id,name) value(2,"张三丰")
ERROR 1062 (23000): Duplicate entry '张三丰' for key 'name'

insert into stu3(id,name) value(3,"张三")

自增长列(auto_increment)

##实现,用户的学号,自动增长,
create table stu4(
	id int primary key auto_increment,
	name varchar(50)
);
##插入数据
insert into stu4(name) value("zsf");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值