mysql学习笔记(二)—— 建表约束

主键约束

它能够唯一确定一张表中的一条记录,也就是我们通过某个字段添加约束,就可以是的该字段不重复且不为空。

create table user(
	id int primary key,
	name VARCHAR(20)
)

联合主键:只要联合的主键加起来不重复就可以 这样id 和uname 就允许重复了

CREATE TABLE user(
	id INT,
	uname VARCHAR(20),
	passwords VARCHAR(20),
	PRIMARY KEY(id,uname)
);

添加主键约束,修改表结构:

alter table user add primary key(id);

删除主键约束:

alter table user drop primary key;

自增约束

CREATE TABLE user(
	id INT primary key auto_increment,
	uname VARCHAR(20)
);

唯一约束

约束该字段的值不允许重复

联合约束:只要联合的主键加起来不重复就可以 这样id 和uname 就允许重复了

CREATE TABLE user(
​	id INT,
​	uname VARCHAR(20),unique(id,uname)
);

非空约束

修饰的字段不能为空 null

CREATE TABLE user(
​	id INT,
​	uname VARCHAR(20) not null,
);

默认约束

当我们插入字段值的时候,如果没有传值,就会使用默认值

CREATE TABLE user(
​	id INT,
​	uname VARCHAR(20),
​	age INT default 10
);

外键约束

设计到两个表:父表,子表

主表。父表。

班级表

create table classes(
​	id int primary key,
​	name varchar(20),
)

学生表

create table students(
​	id int primary key,
​	name varchar(20),
​	class_id int,foreign key(class_id) references classes(id)
 )

可自行试验约束:

insert into classes values(1,'一班');

insert into classes values(2,'二班');

insert into classes values(3,'三班');

insert into classes values(4,'四班');


insert into students values(1001,'张三',1);

insert into students values(1002,'张三',2);

insert into students values(1003,'张三',3);

insert into students values(1004,'张三',4);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值