mysql建表约束条件(学习笔记)

一、主键约束

可以唯一确定一张表中的一条记录,通过给字段添加约束,使字段不重复且不为空

primary key

> CREATE TABLE user> 		id INT primary key, 	
> 	name VARCHAR(10) 	
>;

primary key确保id在一张表里是唯一的,且不能为空

联合主键

CREATE TABLE user2(
	id INT,
	name VARCHAR(10),
	password VARCHAR(20),
	primary key(id,name)
);

primary key(id,name)保证id和name不能同时重复

自增约束

CREATE TABLE user3(
	id INT primary key auto_increment,
	name VARCHAR(10)
);

自动生成序号

建表后的添加与删除主键约束

添加:

CREATE TABLE user4(
	id INT,
	name VARCHAR(10)
);
alter table user4 add primary key(id);
alter table user4 modify id int primary key;

删除:

alter table user4 drop primary key;

二、外键约束

主表、副表

CREATE TABLE classes(
	id INT,
	name VARCHAR(10)
);
CREATE TABLE student(
	id INT primary key,
	name VARCHAR(10),
	class_id INT,
	foreign key(class_id) references classes(id)
);

(1)主表中没有的数据在副表中不可以用
(2)主表中的记录被副表引用,不可以删除

三、唯一约束

约束修饰的字段的值不可以重复

CREATE TABLE user(
	id INT,
	name VARCHAR(10)unique(name,id)
);

与主键约束的区别:唯一约束允许字段重复

四、非空约束

修饰的字段不能为空

CREATE TABLE user(
	id INT;
	name VARCHAR(10) not null;
)

结果:
在这里插入图片描述

五、默认约束

插入字段时没有传值会使用默认值

CREATE TABLE user0(
	id INT;
	name VARCHAR(10),
	age INT DEFAULT 20
);
INSERT INTO user0 (id,name) values(1,'AAA');

结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值