💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 列约束 **唯一性、主键约束、外键约束、检查约束、空值约束、默认值约束** ### 是否为空 一个字段的值是否可以是null,这个时候需要给这个字段设置**默认值** a int not null //不写表示可以为空, 使用insert into 的时候,这个字段必须有值,或者有默认值 ## 主键 PK 和信息无关的属性作为唯一主键,只用来标识记录,与业务不发生关系 int primary key auto_increment 1.字段上设置 ~~~ create table teacher ( tid int primary key auto_increment, tname varchar(5), classname varchar(6) ) ~~~ 2. 组合主键,一个主键由2个字段构成 ~~~ create table teacher ( id int, tid int, tname varchar(5), classname varchar(6), primary key (id,tid); ) ~~~ ## 外键 ## 存储引擎 ![](https://box.kancloud.cn/62994b57ac30b49340c72bad12e91462_672x401.png) **default-storage-engine=Myisam** ## order by order by 字段 升序|降序 升序 asc 降序 dsc 哪个字符在前,取决于校对规则 允许多字段排序,一个字段无法区分,才使用第二个字段 如果是分组,则应该使用分组排序字段** group by** `order by user asc,days dsc;` ## limit 放在最后 在所有操作结束后,再限制条数 limit语法:limit offset rowcount 偏移量(从第几条开始),总记录数(取几条),默认从0开始 ## distinct 去掉重复记录 默认是all `select distinct days from teacher ` ## union 联合查询 `(select username,days from teacher where classname=12) union (select username,days from teacher where classname=13)` 如果Union结果有重复记录,会自动消除,通过union选项all达到调用所有的目的 `(select username,days from teacher where classname=12) union all (select username,days from teacher where classname=13)` **子语句的排序:** 1. 子语句包裹在括号内 2. 子语句的order by 只有在Limit 存在的情况的下才有效,原因是union有内部优化