约束
1.默认值
创建表时在某一字段数据类型后面加 default 默认值 则在表中添加内容时如果在该字段不添加则自动添加默认值 默认值可以为null
2.非空
创建表时在某一字段数据类型后面加 not null 则在表中添加内容时在该字段必须添加内容且不能添加null
3.唯一
创建表时在某一字段数据类型后面加 unique 则在表中添加内容时在该字段所添加的内容不能重复 可以添加多个null
4.主键
创建表时在某一字段数据类型后面加 primary key 兼具非空和唯一特性
5.自增长
创建表时在某一字段数据类型后面加 auto_increment 则在表中添加内容时不在该字段添加内容自动数值加一 一般用于主键
后面再加zerofill则从0开始
6.外键
建表语句最后加 constraint 外键名 foreign key(字段名) references 主表名(主表字段名【多为主表主键】) 解决数据冗余高问题
添加数据时先主表后副表,修改或删除数据时先副表后主表
连接查询(多表查询)
1.交叉连接
表1名 join 表2名 将两个表强行合为一个表,没有联系
2.内连接
表1名 join 表2名 on 表1名.字段1名=表2名.字段2名 将表1中字段1和表2中字段2相等的数据行合为一行
3.左(外)连接
表1名 left join 表2名 on 表1名.字段1名=表2名.字段2名 将表1中字段1和表2中字段2相等的数据行合为一行,同时将左表多余内容显示右表赋值为null
4.右(外)连接
表1名 right join 表2名 on 表1名.字段1名=表2名.字段2名 将表1中字段1和表2中字段2相等的数据行合为一行,同时将右表多余内容显示左表赋值为null
5.全(外)连接
表1名 full join 表2名 on 表1名.字段1名=表2名.字段2名 将表1中字段1和表2中字段2相等的数据行合为一行,同时将左表多余内容显示右表赋值为null,右表多余内容显示左表赋值为null
子查询
where 字段 in(查询语句) 以一条查询语句的查询结果作为另一条查询语句的条件进行查询
联合查询
查询语句1
union
查询语句2 将两条查询语句的查询结果拼接在一起,两者之间可以没有任何联系
两条查询语句所查询的字段数量和数据类型要相同,显示字段名为第一条语句的字段名