mysql约束主码_mysql 5.7 使用主键约束

前言

今天学习一下mysql

主键又称主码,是表中一列或多列的组合。主键约束要求主键的数据唯一,并且不允许为空。主键能够唯一的标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人间的关系,他们之间是一一对应的,主键分为两种类型:单字段主键和多字段联合主键。

1.单字段主键

单字段主键由一个字段组成,sql语句格式分为以下两种情况。

(1)在定义列的同时指定主键,语法规则如下:

字段名  数据类型 PRIMARY KEY [默认值]

1079e5638bbaed380ca0dec5f30b2f44.png

2)在定义数据表tb_emp2,其主键为id,sql语句如下:

[constraint] primary key [字段名]

例:定义数据表tb_emp3,其主键为id,sql语句如下:

e8cbb38806fa1c7247f6fda239cbc0cf.png

使用唯一性约束

唯一约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

唯一性约束的语法规则如下:

(1)在定义完列之后直接指定一个约束,语法规则入下。

字段名  数据类型 unique

例:定义数据表tb_deptl,指定部门的名称唯一,sql语句如下:

2076df4db1dc32954995db870887afb4.png

使用默认约束

默认约束指定某列的默认值。如男性同学较多,性别就可以默认为‘男’。如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为‘男’。

默认规则入下

字段名  数据类型 default 默认值

例:定义数据表tb_temp7,指定员工的部门编号默认为1111,sql语句如下:

68aaa17698c560d78025efe6f6574f7e.png

以上语句执行成功后,表tb_temp7上的字段deotId拥有了一个默认的值1111,新插入的记录如果没有指定部门的编号,则默认都为1111.

设置表属性值自动增加

下数据库应该中,经常希望在每次插入新记录时,系统自动生成字段的主键值。可以通过为表主键添加auto_increment关键字来实现。默认的,在MySQL中auto_increment的初始值是1,每增加一条记录,字段值自动增加1.一个表只能有一个字段使用auto_increment约束,且该字段必须为主键的一部分。autoincrement约束的字段可以是任何整数类型(tinyint smallin int bigint等)。

设置表属性值自动增加语法规则如下:

字段名  数据类型  auto_increment

例:定义数据表tb_temp8,指定员工编号自动递增,sql语句如下:

69938077c2a8021ccdbfee0816fe9151.png

上述例子执行后,会创建名称为tb_emp8的数据表。表tb_temp8中的id字段的值在添加记录的时候会自动增加,再插入记录的时候,默认的自增加字段id的值从1开始,每次添加一条新记录,该值自动加1

例子:执行如下语句:

da840c2d42812a161a31fb9ba41013c8.png

语句执行后,tb_emp8表中增加3条记录,在这里并没有输入id的值,但系统已经自动添加该值,使用select命令查看记录,如图所示。

baebd7e76f22cba42c064661d1d68e7d.png

就到这里!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值