数据库:数据库(数据的集合)和数据库管理系统(操作管理数据库)构成,是存储、维护和管理数据的集合
数据的完整性:(=创建表时添加约束)
1.实体完整性:表示每一行数据不重复
约束类型: 主键约束(primary key) 唯一约束(unique) 自动增长列(auto_increment)
2.域完整性:限制此单元格的数据正确,不对照此列的其它单元格比较
约束类型:数据类型(int varchar double…) 非空约束(not null) 默认值约束(default) Check约束(mysql不支持) check();
3.引用完整性(参照完整性):外键
外键和主键类型必须一致
多表查询
1.合并查询 union,union all
select * from user1 union select * from user2;
结果:user1和user2的交集,去除重复记录
select * from user1 union all select * from user2;
user1和user2的并集,而且不去除重复记录
注意:使用union合并查询的两个表必须保证列的类型及列数一致,列名可以不同
2.连接查询:就是求出多个表的乘积,然后再根据使用主外键关系做为条件来去除无用信息
假设现有student表
sid | name |
---|---|
1001 | Dream |
1002 | Mary |
1003 | Tom |
1004 | Tony |
course表
cid | sid | score |
---|---|---|
01 | 1001 | 96 |
02 | 1002 | 93 |
03 | 1003 | 89 |
04 | 1001 | 100 |
05 | 1001 | 80 |
2.1内连接查询:[inner] join on