MySQL笔记2.4表的约束,2.5设置表的字段值自动增加
Posted Aoian51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL笔记2.4表的约束,2.5设置表的字段值自动增加相关的知识,希望对你有一定的参考价值。
2.4表的约束
- 防止数据表中插入错误的数值,而定义的维护数据库完整性的规则
约束条件 | 说明 |
---|---|
PRIMARY KEY | 主键约束,用于唯一标识对应的记录(主键唯一表示,值不能为空null ); |
FOREIGN KEY | 外键约束 |
NOT NULL | 非空约束 |
UNIQUE | 唯一性约束 |
DEFAULT | 默认值约束,用于设置字段的默认值 |
2.4.1 主键约束;
注意:每个数据表中最多只能有一个主键约束,定义为primary key的字段不能有重复值且不能为null值
- 1.单字段约束
语法: 字段名 数据类型 PRIMARY KEY
例如:创建一个数据表ex1,并设置id作为主键,SQL语句如下:
CREATE TABLE ex1(id INT PRIMARY KEY,
name VARCHAR(20),
grade FLOAT);
- 2.多字段主键
语法:PRIMARY KAY(字段名1,字段名2,***字段名n)
例如:创建一个数据表ex2,在表中将stu_id和course_id两个字段共同作为主键,SQL语句如下:
CREATE TABLE ex2(stu_id INT,
course_id FLOAT,
PRIMARY KEY(stu_id,course_id)
);
2.4.2非空约束
- 非空约束指的是字段的值不能为null,在mysql中,非空约束是通过NOT NULL定义的;
语法: 字段名 数据类型 NOT NULL;
例如:CREATE TABLE ex1(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT not null
);
2.4.3唯一约束
- 保证数据表中字段的唯一性,即表中字段的值不能重复出现
语法: 字段名 数据类型 UNIQUE;
CREATE TABLE ex1(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT UNIQUE
);
ID为主键,name的字段不能为空值,grade字段为唯一值,该值不能重复
2.4.4默认约束
- 用于给数据表中的字段添加指定默认值
语法:字段名 数据类型 DEFAULT 默认值;
例如:CREATE TABLE ex1(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT default 0/*默认值为0*/
);
2.5设置表的字段值自动增加
- 在数据表中,若想为表中插入的新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现。
AUTO_INCREMENT约束的字段可以是任何整数类型,默认情况下,该字段的值是从1开始自增的
语法: 字段名 数据类型 AUTO_INTCREMENT;
例如:创建一个数据表ex5,将表中的id字段设置为自动增加,SQL语句如下:
CREATE TABLE ex1(id INT PRIMARY KEY AOTO_INCREMENT,
name VARCHAR(20) NOT NULL,
grade FLOAT UNIQUE
);
以上是关于MySQL笔记2.4表的约束,2.5设置表的字段值自动增加的主要内容,如果未能解决你的问题,请参考以下文章