mysql约束主码_mysql5.7使⽤主键约束
前⾔
今天学习⼀下mysql
主键⼜称主码,是表中⼀列或多列的组合。主键约束要求主键的数据唯⼀,并且不允许为空。主键能够唯⼀的标识表中的⼀条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同⾝份证和⼈间的关系,他们之间是⼀⼀对应的,主键分为两种类型:单字段主键和多字段联合主键。
1.单字段主键
单字段主键由⼀个字段组成,sql语句格式分为以下两种情况。
(1)在定义列的同时指定主键,语法规则如下:
字段名 数据类型 PRIMARY KEY [默认值]
2)在定义数据表tb_emp2,其主键为id,sql语句如下:
[constraint] primary key [字段名]
例:定义数据表tb_emp3,其主键为id,sql语句如下:
创建唯一约束sql语句使⽤唯⼀性约束
唯⼀约束要求该列唯⼀,允许为空,但只能出现⼀个空值。唯⼀约束可以确保⼀列或者⼏列不出现重复值。
唯⼀性约束的语法规则如下:
(1)在定义完列之后直接指定⼀个约束,语法规则⼊下。
字段名 数据类型 unique
例:定义数据表tb_deptl,指定部门的名称唯⼀,sql语句如下:
使⽤默认约束
默认约束指定某列的默认值。如男性同学较多,性别就可以默认为‘男’。如果插⼊⼀条新的记录时没有为这个字段赋值,那么系统会⾃动为这个字段赋值为‘男’。
默认规则⼊下
字段名 数据类型 default 默认值
例:定义数据表tb_temp7,指定员⼯的部门编号默认为1111,sql语句如下:
以上语句执⾏成功后,表tb_temp7上的字段deotId拥有了⼀个默认的值1111,新插⼊的记录如果没有
指定部门的编号,则默认都为1111.
设置表属性值⾃动增加
下数据库应该中,经常希望在每次插⼊新记录时,系统⾃动⽣成字段的主键值。可以通过为表主键添加auto_increment关键字来实现。默认的,在MySQL中auto_increment的初始值是1,每增加⼀条记录,字段值⾃动增加1.⼀个表只能有⼀个字段使⽤auto_increment约束,且该字段必须为主键的⼀部分。autoincrement约束的字段可以是任何整数类型(tinyint smallin int bigint等)。
设置表属性值⾃动增加语法规则如下:
字段名 数据类型 auto_increment
例:定义数据表tb_temp8,指定员⼯编号⾃动递增,sql语句如下:
上述例⼦执⾏后,会创建名称为tb_emp8的数据表。表tb_temp8中的id字段的值在添加记录的时候会⾃动增加,再插⼊记录的时候,默认的⾃增加字段id的值从1开始,每次添加⼀条新记录,该值⾃动加
1
例⼦:执⾏如下语句:
语句执⾏后,tb_emp8表中增加3条记录,在这⾥并没有输⼊id的值,但系统已经⾃动添加该值,使⽤select命令查看记录,如图所⽰。
就到这⾥!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论