数据库约束的作用
对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。
PRIMARY KEY: 主键约束,非空且唯一
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
UNIQUE: 唯一约束
NOT NULL: 非空约束
DEFAULT: 默认值
FOREIGN KEY: 外键约束
ALTER TABLE 从表 ADD CONSTRAINT fk_id FOREIGN KEY (外键字段名) REFERENCES 主表(主键字段名);
AUTO_INCREMENT:自增长约束
CHECK:检查约束。
三大范式
概念:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。
第一范式:确保每列的原子性.
如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式.
第二范式:在第一范式的基础上,保表中的每列都和全部主键相关,消除部分依赖。
第三范式:在第二范式的基础上,确保每列都和主键列直接相关,而不是间接相关.消除传递依赖。
数据库引擎
Myisam : 查询操作,不支持事务
innoDB: 增删改查综合性操作,事务操作
*.frm: 表结构定义文件
*.ibd文件: 表的数据及索引文件
db.opt: 数据库的默认字符集及字符集排序文件
DML查询语句
SELECT * FROM 表名;
1、where条件查
2、update修改语句
3、删除表
4、like模糊查询,查询包含的字母、字符、汉字等
5、组合、合并查询
6、排序查询
7、分组查询----分组时可以使用COUNT, SUM, AVG函数
8、连接查询
9、子查询:
1,把一段sql语句查询出来的集合供另外一句sql当做条件使用。
2,把两个表重新命名,对重新命名的表添加关联,然后根据个表拥有的字段进行输出
SQL语句执行顺序
(1)from
(3) join
(2) on
(4) WHERE
(5)GROUP BY
(6) 聚合函数
(7)HAVING
(8) SELECT
(9) DISTINCT
(10) ORDER BY
(11) LIMIT
视图:
概念:视图为一张虚拟表通过特定语句链接到基础表,仅仅做显示。
视图可以有一张表或者多张表的连接组成.
创建视图:CREATE VIEW 视图名 AS 相关查询
使用视图:SELECT *FROM 视图名
特点: 不能对视图的结构进行修改,但是可以通过delete ,update,insert 对基本表数据进行操作,
视图的数据是实时根据基本表生成的。
使用链接查询创建视图是不能进行更改操作
使用子查询时(当子查询语句被当做条件时)可以进行更改和操作
用途:
筛选表中的行,或者进行多表查询
防止未经许可的用户访问敏感数据
降低数据库的复杂程度