您的位置:首页 > 数据库 > MySQL

MySql 表的约束、字段值自动增加

2017-11-21 17:30 316 查看
@author StormWangxhu
@data  2017/11/21


(一)数据表的约束

1、约束目的: 为了防止数据库中插入错误的数据。

在设计数据库时,为了确保数据库表中数据的质量,需要考虑数据的完整性(数据的完整性是指数据的正确性和一致性)。举个例子:当你要为学生建立一个基本信息表StudentInfo时,这个表中学生的名字可以相同但是学号必须不一样,而他的年龄也得限制在一定范围内,像这样类似的“限制”有很多,如果违反了这些限制就制造了与现实不符的失真数据即破坏了数据的完整性。因为数据库不能自行判断哪些数据失真,所以需要认为添加一些约束来保证数据的完整性。

2、约束条件:

数据库中对表的约束有五种:

–1.主键约束(Primary Key constraint):主键列数据唯一,并且不允许为空。

主键是表中的一列或一组列,它们的值可以唯一地标识表中的每一行。

–2.唯一约束(Unique constraint):该列数据唯一,允许为空,但只能出现一个空值(不重复性)。

唯一性约束保证了除主键外的其他一个或一组列的数据具有唯一性,以防止在列中输入重复的值。(一个表只可以有一个主键约束,如果其它列也不希望有重复就可以使用唯一性约束。)

–3.检查约束(Check constraint):范围限制、格式限制

检查约束使指定表中一列或一组列可以接受的数据值或格式。

–4.默认约束(Default constraint):

为指定列定义一个默认值。在输入数据时,如果没有输入该列的值,则将该列的值设置为默认值。

5.外键约束(Foreign Key constraint):表间约束,确保数据的参照完整性

将当前表中的某一列或一组列关联到另一个表的主键列,可创建两个表之间的连接。当前表中的列就成为外键。外键涉及到两个表,一个主表,一个从表 ,主表中的外键是从表中的主键

1121.1 主键约束

作用: 为了快速查找表中的某条信息,可以通过设置主键来实现。

方式: primary key 定义,唯一标示表中的记录,好比身份证。

单字段主键

基本语法

字段名   数据类型 primary key




多字段主键

基本语法

primary key(字段名1,字段名2,...字段名n)


说明: 字段名1,字段名2等指的是构成主键的多个字段的名称。



注意:

每一个数据表中最多只能有一个主键约束,定义为primary key 的字段不能有重复,且不能为空!

1121.2 非空约束

基本语法:

字段名  数据类型   not null




非空约束指的是字段值不能为空

1121.3 唯一约束

唯一约束用于保证数据表中字段的唯一性,即表中的字段的值不能重复出现。

基本语法

字段名   数据类型   unique  ;




说明:

id 字段为主键

stu_id 字段为唯一值,该字段不能有重复值。

grade 字段的值有默认值 0。

1121.4 默认约束

基本语法:

字段名   数据类型   default  默认值  ;


(二)设置表的字段值会自动增加

定义:

若为表中插入的新纪录自动生成一个唯一的ID,可以使用 auto increment 约束实现。

基本语法:

字段名   数据类型   auto_increment ;




说明: ID字段 为主键,且每插入一条新纪录,id值会自动增加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: