1.数据约束
默认值(缺省约束):default 建表的时候写在列类型后面
非空约束:NOT NULL 写在列类型后面
唯一约束:unique
2.主键:primary key 非空+唯一
一个表内只能有一个主键
3.自增长:auto_increment 自增长字段可以不赋值,自动递增
4.外键:约束两种表的数据
constraint 外键名称 foreign key(副表列名) references 主表名(主表字段)
注意:
1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的!!!
2)主表的参考字段通用为主键!
3)添加数据: 先添加主表,再添加副表
4)修改数据: 先修改副表,再修改主表
5)删除数据: 先删除副表,再删除主表
5.多表查询
select * from 表1 join 表2
交叉连接:select * from 表1 join 表2
内连接:
select * from 表1 join 表2 on 表1.字段1=表2.字段2
左链接:
select * from 表1 left join 表2 on 表1.字段1=表2.字段2
含义是:内连接的结果基础上,加上左边表中所有不符合连接条件的数据,相应放右边表的字段的位置就自动补为“null”值。
右链接:
select * from 表1 right join 表2 on 表1.字段1=表2.字段2
含义是:在内连接的结果基础上,加上右边表中所有不符合连接条件的数据,相应本应放左边表的字段的位置就自动补为“null”值。
6.子查询
where 操作数 in (值1,值2, ....)
7.联合查询
查询语句1
union
查询语句2