MySQL 表的约束

为了防止错误数据的产生,在MySQL中定义了一些维护数据库完整性的规则即表的约束,

如下表所示:

表的约束
约束条件说明
PRIMARY KEY主键约束,用于标识唯一对应的记录(例如账号)
FOREIGN KEY外键约束
NOT NULL非空约束
UNIQUE唯一性约束
DEFAULT默认值约束

1、主键约束

在MySQL中为了快速找到某条信息,可以通过设置主键来实现

主键分为两种  1.单字段主键    2.多字段主键

单字段主键指的是由一个字段构成的主键,其格式如下:

字段名 数据类型 PRIMARY KEY

创建一个新的ex01表,并设置id为主键  SQL语句如下所示:

CREATE TABLE ex01(id INT PRIMARY KEY,
                  name VARCHAR(20),
                  grade FLOAT);

多字段主键是指多个字段组合而成的主键,其最基本的语法为:

PRIMARY KEY(字段名1,字段名2,,,,,字段名n)

例如建立一个ex01数据表,在表中将stu_id和course_id两个字段共同作为主键,语句如下:

CREATE TABLE ex02(stu_id INT,
                  course_id INT,
                  name VARCHAR(20),
                  PRIMARY KEY(stu_id,course_id)
);

2、非空约束

非空约束指的是字段的值不能为null,其基本语法如下:

字段名 数据类型 NOT NULL;

例如创建一个ex04表,将表中name字段设置为非空约束SQL语句如下:

CREATE TABLE ex04(id INT,
                  name VARCHAR(20) NOT NULL,
                  grade FLOAT);

3、唯一约束

唯一约束用于保证数据表中字段的唯一性,及表中字段的之不能重复出现,其基本格式如下:

字段名 数据类型 UNIQUE

例如建立一个ex05表,将表中stu_id设置成唯一约束,SQL语句如下所示:

CREATE TABLE ex05(stu_id INT UNIQUE,
                  id INT PRIMARY KEY,
                  name VARCHAR(20) NOT NULL
);

4、默认约束

默认约束用于设置表中字段的指定默认值,基本语法如下所示:

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

例如创建一个ex06表,将表中的grade字段设置为默认为一,其SQL语句如下所示:

CREATE TABLE ex06(id INT PRIMARY KEY AUTO_INCREMENT,
                  stu_id INT UNIQUE,
                  grade FLOAT DEFAULT 0);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值