MySQL创建数据表建表约束及格式大全

目录

一、建表约束条件

二、创建数据表模板


一、建表约束条件

约束条件用来保证创建的表的数据完整性和准确性

主要在两方面对数据进行约束: 空值和重复值

主键约束   (primary key)

•每个表中只能有一个主键

•主键值须非空不重复

•可设置单字段主键,也可设置多字段联合主键,联合主键中多个字段的取值都完全相同时,才违反主键约束

•添加主键约束:

列级添加主键约束:create table < 表名 > <字段名 1> < 字段类型 1> primary key 字段名 n> < 字段类型 n>);

表级添加主键约束:create table < 表名>< 字段名 1> < 字段类型 1>,......< 字段名 n> < 字段类型 n>,[constraint 主键约束名 ] primary key( 字段名 1[, 字段名 2,... 字段名 n]));

唯一约束  (unique)

•指定字段的取值不能重复,可以为空,但只能出现一个空值

•添加唯一约束:

列级添加唯一约束:

create table < 表名 > 字段名 1> < 字段类型 1> unique,……< 字段名 n> < 字段类型 n>);

表级添加唯一约束:

create table < 表名 > 字段名 1> < 字段类型 1,……< 字段名 n> < 字段类型 n>,[constraint 唯一约束名 ] unique (字段名 1[, 字段名 2... 字段名 n]));

自增约束(auto_increment)

•指定字段的取值自动生成,默认从 1 开始,每增加一条记录,该字段的取值会加 1

•只适用于整数型,配合主键一起使用

•创建自动增长约束: create table < 表名 > (<字段名 1> < 字段类型 1> primary key auto_increment,...... <字段名 n> < 字段类型 n>);

非空约束 (not null)

•字段的值不能为空

•创建非空约束: create table < 表名 > (<字段名 1> < 字段类型 1> not null,……< 字段名 n> < 字段类型 n>);

默认约束 (default 内容)

•如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值

•创建默认约束: create table < 表名 > (<字段名 1> < 字段类型 1> default value,……< 字段名 n> < 字段类型 n>);

外键约束   (foreign key)

•在一张表中执行数据插入、更新、删除等操作时,DBMS 都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。

•某一表中某字段的值依赖于另一张表中某字段的值,该值必须非空

•每一个外键值必须与另一个表中的某一个字段的值相对应

•创建外键约束: create table < 表名 > (<字段名 1> < 字段类型 1>,……< 字段名 n> < 字段类型 n>,[constraint 外键约束名 ] foreign key( 字段名 ) references <表名> (非空字段));

二、创建数据表模板

create table dagonger(
	empid int primary key auto_increment,      #设置主键,自增
    ename varchar(10) unique,                  #唯一值约束
	gender enum('男','女')                    #枚举
    job varchar(15) not null,                  #非空约束
    mgr int,                                   
    hiredate date,
    sal float default 0,                      #默认值
    comm int,
    deptno int,
	foreign key (deptno) references dept(deptno)    #外键约束
    );


版权声明:本文为weixin_42672320原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。