2,mysql建表约束

mysql建表约束:主键约束、自增约束、外键约束、唯一约束、非空约束、默认约束

1,约束:它够唯一确定一张表中的记录,也就是通过给某个字段添加约束,就是的该字段不重复,且不为空。

Create table user(

Id int primary key,                 约束了主键,不能添加重复

Name varchar(20)

);

在test数据库中创建表,创建表user,插入主键,显示表,其中id的key一栏是PRI证明id是主键

主键是唯一的,不能重复添加,如果还想添加重复的只能改变前面的序号

 

 主键还有一个条件就是不能为空,目的就是为了重新确认一下记录

2,联合主键——只要联合的主键值加起来不重复就可以,但是都不能为空

 

3,自增约束和主键约束搭配使用

创建一个表格,直接添加数值前面的id,管控id的值,让它可以自动增长

 4,修改表结构,添加主键

如果创建表的时候,忘记创建主键约束,就是primary key 显示,key那一列为空

Desc是describe的简写

 解决办法,输入alter table 表名 add primary key(id)

5,删除主键

输入alter table 表名 drop primary key;

6,使用modify修改字段,添加约束

 

 

7,唯一约束

约束修饰的字段的值不能重复

添加唯一约束,三种方式

(1)alter table user5 add unique(name);

 

UNI的意思就是name不可以重复

 (2)也可以直接创建唯一约束

 (3)也可以直接写到name后面:name varchar(20)unique

unique写一行的原因是可以添加不止一个元素,如果有多个唯一约束unique(id,name)表示两个键在一起都不重复

(4)通过modeify去添加,添加之前需要先删除

如何去删除唯一约束:alter table user6 drop index name;

通过modify添加:alter table user6 modify name varchar(20) unique;

总结(添加约束):

  1. 建表的时候就添加约束
  2. 可以使用alter ...add....
  3. 也可以使用alter...modify...
  4. 删除使用alter...drop...

8,非空约束——就是修饰的字段不能为空

id在NULL就是YES允许,name在NULL是no不允许

 

可以让id为空直接赋值lisi就是正确的,但是不能让name为空,不然出现错误

Not null的添加就是让它自己修饰的键不能为空

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

 给age默认是10所以她现在是有默认值的为10

现在给id,name插入相应的值,不管age,显示出来age还是默认的值10

 如果给age进行赋值就不会使用原来的值的

10,外键约束

涉及到两个表:父表,子表(主表、副表)

创建一个班级表,和一个学生表,主表是班级表,在给两个表中分别插入信息

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值