MYSQL-完整性约束条件

1.设置表主键

主键必须唯一,主键值非空;主键可以是单一字段,也可以是多字段组合。

1)单字段主键

语法格式:

属性名 数据类型 primary key

实例:
create table example1(stu_id int primary key, stu_name varchar(20))
stu_id 为主键

2)多字段主键

在属性定义完后统一设置主键
语法格式:

primary key( 属性名1, 属性名2, ... ,属性名n)

实例:
create table example2(stu_id int, course_id int, name varchar(20), primary key (stu_id, course_id) )

stu_id , course_id 都为主键,两者组合可以确定唯一记录

2.设置表的外键

作用是建立该表与其父表的关联关系。
语法格式:

constraint 外键别名 foreign key(属性 1.1,属性1.2 ... 属性1.n)
references 表名(属性 2.1,属性2.2 ... 属性2.n)

"外键别名"是为外键的代号,属性 1参数列表是子表设置的外键,表名是父表表名,属性2参数列表是父表主键
实例:
create table example3(id int primary key, stu_id int, course_id int, constraint c_fk foreign key(stu_id, course_id) references example2(stu_id,course_id))

3.设置表的非空约束

非空约束即字段值不能为空
语法格式:

属性名 数据类型 not null

实例:
create table example4( id int not null primary key, name varchar(20) not null)

4.设置表的唯一性约束

即表记录中该字段值不能重复。
语法格式:

属性名 数据类型 unique

实例:
create table example5(id int , stu_id int unique)

5.设置表的属性值自动增加

一个表只能有一个字段试用auto_increment约束,且该字段必须为主键的一部分。此字段可以是任何整数类型。默认从1开始自增。
语法格式:

属性名 数据类型 auto_increment

实例:
create table example6(id int primary key auto_increment, stu_id int unique)

6.设置表的属性默认值

如果创建一条记录时如果没有输入此字段值,则会为该字段插入默认值
语法格式:

属性名 数据类型 default 默认值

实例:
create table example7(id int , stu_id, name carchar(20) default 'wu_ming', computer float default 0 )

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11
  • MySQL5.6从零开始学 第一章 初始mysql 1.1数据库基础 数据库是由一批数据构成的有序的集合,这些数据...
    星期四晚八点阅读 1,183评论 0 4
  • 八月十五月饼的留香在口中久久不愿散去,又迎来了八月十九我的生日,八月十七是姐的生日。我和姐的生日就隔着一天,爸妈规...
    踏雪无痕_何阅读 4,481评论 0 0
  • 很惊喜获得这次最佳,每天拜读大家的文章,风格各异,有深度有内容,在看看自己的文章,跟小学生写作文一样,深感差距,需...
    明荒阅读 269评论 7 8