20240529
约束条件:限制表中的数据,保证数据的准确,可靠的规则
-
not null /null
-
unsigned
-
zerofill
-
unique:唯一数据
-
primary key: 主键,便于查询 =not null +unique
- 主键约束:添加的约束规则
- 主键字段:添加了主键约束的字段
- 主键值:主键字段的值
- 主键的作用:自动添加索引-index,主键值是当前数据的唯一标识
- 单一主键:列级约束
- create table ''(id int primary key)
- create tatle ''(id int,constraint user_id_k primary key(id))#重命名主键为user_id_k
- 复合主键:表级约束
- create table ''(id int primary key)
- create table ''(id int,name varchar(32),constraint user_id_k primary key(id,name))#重命名主键为user_id_k
- foreign key:外键,便于表之间创建关联关系
- 外键约束:字段外键的约束规则
- 外键字段:添加外键约束规则的字段
- 外键值
- 外键关系:
- 一对一:外键关系建议建立在使用频率高的表上
- 一对多(单向):外键关系创建在"多"中
- 先创建一
- 创建多:指定外键
- 给1插入数据
- 给多插入数据
- 多对多(双向)
- 创建1.2表
- 创建第三方表,通过第三表来存储关联关系
- 外键创建语法
- create table ''()#创建表1
- create table ""(,foreignkey(..) references ''...)#创建表2 ,指定外键关系
- 级联更新、删除
- foreignkey(..) references ''... on update cascade
- foreignkey(..) references ''... on delete cascade
- 自然主键和业务主键
--查看当前表的字段限制 show databases; use information_schema; show tables; desc table_constrains; select constrains_name from table_constrains where table_name ='当前表名'
过滤条件
- where:对整体数据的筛选条件
- 添加:=/is
- 与条件:and/between...and...
- 或条件:or/ in ()
- 模糊:.. like'%..%'
- 长度条件:char_length(..)=../ .. like '__________'
- 取反: not
- group by:透视(分组查看)
- select ..,.. from '' group by ..#group by后面的字段必须在select里
- select max(..)
- select .. as ..
- select min(..)
- select avg(..)
- select sum(..)
- select count(..)
- group_concat(..,..):聚合函数的具体值,可以拼接
- concat:没有分组数据的拼接
- having:分组之后的筛选,功能同where
- distinct:去重
- select distinct ..,.. from ''
- order by:排序
- select * from '' order by .. ,.. asc/desc;