mysql学习———表的约束

这章接上一章数据表的基本操作,因为我也是刚开始学习,只有自己学懂了才敢写博客,再加上自己比较笨,所以更新比较慢
为了防止数据表中插入错误的数据,在 MySQL 中,定义了一些维护数据库完整性的规则,唔 就是表的约束,先看下面的
在这里插入图片描述
在mysql中有五种约束:

主键

为了快速查找表中的某条信息,可以通过设置主键来实现。主键约束是通过PRIMATY KEY 定义的,它可以唯一标识表中的记录
在 mysql中,主键约束分为两种
注意:每个数据表中最多只能有一个主键约束,定义为 PRIMATY KEY的字段不能有重复值 且不能为 NULL值

单字段主键:

单字段主键指的是由一个字段构成的主键: 语法如下:
字段名 数据类型 PRIMATY KEY
列如:
在这里插入图片描述

多字段主键:

多字段主键指的是多个字段组合而成的主键
语法如下:
PRIMARY KEY (字段名 1,字段名 2,…,字段名 n)
列如:

创建一个数据表student在表中将id 和name 两个字段共同作为主键,
 SQL 语句如下:
   CREATE TABLE student(
		id  INT,
		name char,
		grade FLOAT,
		PRIMARY KEY(id,name)
		);

非空约束

非空约束指的是字段的值不能为 NULL ,在 MYSQL中,非空约束是通过 NOT NULL 定义的,
基本的语法格式:
   字段名 数据类型 NOT NULL;

在这里需要注意的是:在同一个数据表中可以定义多个非空字段。

例如:
创建一个数据表student在表中将id 设为主键约束,将name设为非空约束
CREATE TABLE sutdent(
				id INT PRIMARY KEY,     #主键约束 
				name char(10) NOT NULL  #非空约束
				);

唯一约束

唯一约束用于保证数据表中字段的唯一性,即表中字段的值不能重复出现。
比如我们的身份证号,就是唯一的,唯一约束是通过UNIQUE 定义的语法如下
字段名 数据类型 UNIQUE

列如:
创建一个数据表 test1,将表中的id设置为唯一约束,

SQL 语句如下:
   CREATE TABLE test1 (
   id INT PRIMARY KEY,
   id INT UNIQUE,
   name VARCHAR(20) NOT NULL
   );

默认约束

默认约束用于给数据表中的字段指定默认值,也就是说当在表中插入一条新记录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。默认值是通过DEFAULT 关键字定义的,
其基本的语法格式如下所示:

字段名 数据类型 DEFAULT 默认值
创建一个数据表 test2,将表中的 age字段的默认值设置为18`,
SQL 语句如下:

CREATE TABLE test2 (
id  INT PRIMARY KEY,
name char(10),
age  int  DEFAULT 18
);

设置表的字段值自动增加

在数据表中,若想为表中插入的新记录自动生成唯一的 ID ,可以使用AUTO_INCREMENT约束来实现。 这个就类似我们数据表的序号,每添加一条
记录,序号就自动+1,AUTO_INCREMENT 约束的字段可以是任何整数类型
语法;
字段名 数据类型 AUTO_INCREMENT
例如:

创建一个数据表test3,将表中的id字段设置为自动增加,
sql语句如下:
 	CREATE TABLE test3 (
				id     INT   PRIMARY KEY AUTO_INCREMENT ,
				name   INT  UNIQUE,
				grade  FLOAT
				);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章