数据完整性
什么是数据的完整性:保证用户输入的数据保存到数据库中是正确的
怎样添加数据完整性:在创建表时给表中添加约束
主键约束
CREATE TABLE 表名(字段1 类型 primary key,字段2 类型,字段3 类型);
CREATE TABLE 表名(字段1 类型,字段2 类型,字段3 类型,primary key(字段1));
# 联合主键 两个字段数据相同时,才违反联合主键约束
CREATE TABLE 表名(字段1 类型,字段2 类型,字段3 类型,primary key(字段1,字段2));
###修改为主键
ALTER TABLE 表名 ADD CONSTRAINT PRIMARY KEY(字段);
唯一约束
CREATE TABLE 表名(字段1 类型 UNIQUE,字段2 类型,字段3 类型);
自动增长列
CREATE TABLE 表名(字段1 类型 AUTO_INCREAMENT,字段2 类型);
非空约束
CREATE TABLE 表名(字段1 类型,字段2 类型 NOT NULL);
完整性分类
实体完整性
域完整性
引用完整性
外键创建
CREATE TABLE 表名(字段 类型,字段2 类型,字段3 类型,CONSTRAINT 自定义名 FOREING KEY(外键字段) REFERENCES 外表(外表字段));
添加外键
ALTER TABLE 表名 ADD CONSTRAINT 自定义名 FOREING KEY(外键字段) REFERENCES 外表(外表字段)
99查询
SELECT * FROM 表1 别名1,表2 别名2 WHERE 表1.字段=表2.字段;
内连接-等值连接
SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 ON 表1.字段=表2.字段;
SELECT * FROM 表1 别名1 JOIN 表2 别名2 ON 表1.字段=表2.字段;
外连接-左连接查询-等值连接
SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 表1.字段=表2.字段;
SELECT * FROM 表1 别名1 LEFT JOIN 表2 别名2 ON 表1.字段=表2.字段;
外连接-右连接查询-等值连接
SELECT * FROM 表1 别名1 RIGHT OUTER JOIN 表2 别名2 ON 表1.字段=表2.字段;
SELECT * FROM 表1 别名1 RIGHT JOIN 表2 别名2 ON 表1.字段=表2.字段;
多表连接-99连接-等值连接
SELECT * FROM 表1 别名1,表2 别名2,表3 别名3
WHERE 表1字段=表2字段
AND 表2字段=表3字段;
多表连接-内连查询-等值连接
SELECT * FROM 表1 别名1
INNER JOIN 表2 别名2 ON 表1字段=表2字段
INNER JOIN 表3 别名3 ON 表2字段=表3字段;
自然连接
SELECT * FROM 表1 NUTURAL JOIN 表1 ON 表2;