约束

1.自动增长约束

(auto_increment)

mysql设置自增约束 mysql自增约束怎么写_创建表


自动增长约束,都是加在主键上,一般也就是id上,在创建表的时候,直接写在需要自动增长的字段的数据类型后面。insert into添加数据的方式

1.

mysql设置自增约束 mysql自增约束怎么写_创建表_02


指定字段名称,字段名称中不要包含自动增长列,自动增长列会自动生成增加。

2.

mysql设置自增约束 mysql自增约束怎么写_字段_03


不指定每个字段的名称,那么需要在自动增长的列上的值,设定一个null,也可为此设置序号。如果手动添加后会在最大id的基础上继续增加

mysql设置自增约束 mysql自增约束怎么写_mysql_04


delete from 表名,只是删除表数据,没有更改表中的计数器,如果再次增加记录,会在之前最大id的基础上自增

mysql设置自增约束 mysql自增约束怎么写_字段_05


如果想要这个表结构,并不想要里面的内容可以使用 :truncate 表名

mysql设置自增约束 mysql自增约束怎么写_mysql_06

2.非空约束

(not null)

添加方式:

1、创建表的时候,在需要添加非空约束的字段后面,加上not null

2、在创建表之后,修改表结构,modify

mysql设置自增约束 mysql自增约束怎么写_主键_07


mysql设置自增约束 mysql自增约束怎么写_主键_08


mysql设置自增约束 mysql自增约束怎么写_mysql设置自增约束_09


mysql设置自增约束 mysql自增约束怎么写_mysql设置自增约束_10


mysql设置自增约束 mysql自增约束怎么写_mysql_11


1、添加一条记录时,如果没有指定非空字段的值,默认设定为空串或者0

2、如果强制设定有非空约束的字段的值为null,则会报错

(打开的端口不一样,使用的效果也可能会有不同,可以看到在MySQL窗口执行错误,在SQLyog里则可以执行,执行后的结果在MySQL窗口可以查到)

3.唯一性约束
一、含义:
有了唯一性约束的字段,不能有重复的值
二、和主键的关系:
1、主键默认就包含了唯一性约束
2、主键还包含了非空约束
3、一张表只能有一个主键,但是可以有很多字段都设定非空的约束,或者是唯一性约束

三、添加唯一性约束的方式: Unique

1、创建表的时候,在某个字段后面,直接写上唯一性的关键字Unique

2、在创建表的最后,在约束的区域,加上约束的声明

Constraint 约束名称 unique(非空的字段名称)

3、创建表之后,通过alter方式修改表的约束

I、add constraint

II、modify 字段名

mysql设置自增约束 mysql自增约束怎么写_mysql设置自增约束_12


A.插入一条记录,只指定产品数量,其他的不指定

mysql设置自增约束 mysql自增约束怎么写_mysql_13


pid有自动增长是1,产品名称非空所以空串,价格默认为10



第二次添加失败,违反了pname的唯一性约束,不能两个产品的名称都为空串

mysql设置自增约束 mysql自增约束怎么写_mysql_14


B.第二种添加唯一性约束的方式,可以针对两个字段加唯一性约束,表示两个字段加起来不能重复

mysql设置自增约束 mysql自增约束怎么写_字段_15

由下可以得出结论只要两个字段不同时重复,就可以使数据插入。

mysql设置自增约束 mysql自增约束怎么写_创建表_16


C.第三种添加唯一性约束的方式,创建表之后,进行添加,可以使用两种方式添加

mysql设置自增约束 mysql自增约束怎么写_创建表_17


第一种修改表结构,可以针对多个字段联合添加唯一性约束

mysql设置自增约束 mysql自增约束怎么写_mysql_18


第二种修改表结构,只能给一个字段添加唯一性约束

mysql设置自增约束 mysql自增约束怎么写_主键_19




由下可以得出看出,第一条数据插入成功,第二条数据pname重复,第三条pid重复,第四条都不重复,插入成功。由此可得出结论所有数据都不同时方可数据插入成功。

mysql设置自增约束 mysql自增约束怎么写_字段_20