数据的操作
数据的存储,表格中添加数据
inset into 表民 (字段) values(值)
数据表的数据约束
非空约束 not null
解释:当字段添加非空约束的时候,当前字段就不允许插入null值 ,如果插入null值,就会报错
默认 default
解释:如何没有给此字段添加数据,默认自动添加默认值
检查 check
解释:检测你传入的值是否在给定范围内
mysql不支持 使用enum 和set实现
唯一unique
解释:一旦地段被定义成唯一约束表示当前字段的值不能重复,可以为null
语法
字段添加:字段名 类型(长度)unique
独立添加:【constraint】 约束名 unique (字段名)
因为标注的数据列是唯一的,所以方便与查询,数据库系统自动对该字段建立索引 Btree【二叉树】
如果没有给唯一约束起名字,默认是约束创建的索引名字是字段名,可以自己给索引起名字
查看对应表的索引语法
show index from 表名
主键约束 primary key
相当于unique+not null 但是高于
主键约束的字段唯一且不为空【null在数据库中表示无穷的意思,无法比较】
主键才是代替unique来进行准确地数据查询
主键约束分类
单主键的方式,一个表中只有一列拿出来作为主键,方便唯一查询
联合主键的方式,一个表中有多个字段一起来表示一条数据唯一 不为空 是unique做不到
列如
uname【primary key】 upassw【primary key】
张三 123
张三 1234
李四 123
创建方式
字段:字段名 类型(长度) primary key
独立:constraint 约束名 primary key (字段1,字段2....)
备注:每一个表只能创建一个主键 只能用一次primary key
联合主键唯一方式
主键字段1-主键字段2-主键字段3...的值是唯一的
联合主键比较耗费资源--尽量不用,除非必须使用
外键约束 froeign key
解释:主要用来多个表之间建立联系
外键一般关联另一个表的主键
外键与被关联的主键定义一致,依赖于被关联的主键存在
定义语法
【constraint 外键名字】 foreign key(字段名) references 关联的表(主键字段)
注意:一旦俩个表发生了主外键关联,那么外键字段的值必须是关联的主键字段中有得才行
自增约束
auto_increment
解释:当前字段被定义了自增约束,当前字段的数据就会自动增长,一般用表格数据的主键编号
语法
字段名 类型(长度) auto_increment
标签:primary,约束,学习,字段,key,SQL,unique,主键 From: https://blog.51cto.com/u_16220922/7614137