数据库
什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?
1 | 数据库: |
SQL:结构化查询语言
1 | 程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。 |
关于SQL语句的分类
1 | SQL语句有很多,最好进行分门别类,这样更容易记忆。 |
MySQL常用命令
1 | 退出mysql :exit; |
数据库表
1 | 数据库当中最基本的单元是表:table |
查询:select
简单查询
1 | 查询一个字段? |
条件查询
条件查询:不是将表中所有数据都查出来。是查询出来符合条件的。
1 | 查询语法格式: |
1 | 都有哪些条件? |
分组查询
什么是分组查询?
- 在实际的应用中,可能有这样的需求,需要先进行分组,然后对每一组的数据进行操作,这个时候我们需要使用分组查询。
1 | 语法格式: |
补充一点
1 | 将之前的关键字全部组合在一起,来看一下他们的执行顺序? |
排序:order by
1 | 语法格式: |
数据处理函数
- 数据处理函数又被称为单行处理函数
单行处理函数
1 | 单行处理函数的特点:一个输入对应一个输出。 |
分组函数(多行处理函数)
多行处理函数特点:多个输入,对应1个输出。
1 | count # 计数 |
distinct
把查询结果去除重复记录 distinct
注意:原表数据不会被修改,只是查询结果去重。
1 | // distinct只能出现在所有字段的最前方。 |
连接查询
多张表联合起来查询数据,被称为连接查询。
1 | 根据表连接的方式分类: |
内连接:等值连接
1 | SQL99语法: |
内连接:非等值连接
1 | select |
内连接:自连接
1 | select |
外连接
1 | // outer是可以省略的,带着可读性强。 |
子查询
select语句中嵌套select语句,被嵌套的select语句称为子查询。
1 | 子查询都可以出现在哪里呢? |
union合并
1 | 案例:查询工作岗位是MANAGER和SALESMAN的员工? |
limit
1 | limit作用:将查询结果集的一部分取出来。通常使用在分页查询当中。 |
1 | 关于DQL语句的大总结: |
表的创建
1 | 建表的语法格式:(建表属于DDL语句,DDL包括:create drop alter) |
插入数据insert
1 | 插入数据insert (DML) |
修改update
1 | 语法格式: |
删除数据 delete
1 | 语法格式? |
约束
1 | 什么是约束? |
非空约束:not null
唯一性约束unique约束的字段不能重复,但是可以为NULL。
1 | drop table if exists t_vip; |
唯一性约束: unique
唯一性约束unique约束的字段不能重复,但是可以为NULL。
1 | 唯一性约束unique约束的字段不能重复,但是可以为NULL。 |
主键约束: primary key
1 | 主键约束的相关术语? |
外键约束:foreign key
1 | 外键约束涉及到的相关术语: |
存储引擎
什么是存储引擎,有什么用呢?
1 | 存储引擎是MySQL中特有的一个术语,其它数据库中没有。(Oracle中有,但是不叫这个名字) |
MyISAM存储引擎
1 | 它管理的表具有以下特征: |
InnoDB存储引擎
1 | 这是mysql默认的存储引擎,同时也是一个重量级的存储引擎。 |
MEMORY存储引擎
1 | 使用 MEMORY 存储引擎的表,其数据存储在内存中,且行的长度固定, |
事务
1 | 什么是事务? |
提交事务、回滚事务
1 | 提交事务:commit; 语句 |
代码演示
1 | 演示事务: |
事务四个特性
1 | A:原子性 |
事务的隔离性
1 | A教室和B教室中间有一道墙,这道墙可以很厚,也可以很薄。这就是事务的隔离级别。 |
索引(index)
1 | 什么是索引? |
实现原理
1 | 假设有一张用户表:t_user |
添加索引的条件
1 | 什么条件下,我们会考虑给字段添加索引呢? |
索引的创建和删除
1 | 创建索引: |
是否使用索引进行检索
1 | 1.5、在mysql当中,怎么查看一个SQL语句是否使用了索引进行检索? |
索引失效的情况
1 | 索引有失效的时候,什么时候索引失效呢? |
索引分类
1 | 单一索引:一个字段上添加索引。 |
视图
什么是视图?
1 | 视图:站在不同的角度去看待同一份数据。 |
视图创建和删除
1 | 创建视图对象: |
视图的用途
1 | 《方便,简化开发,利于维护》 |
DBA常用命令
1 | 重点掌握: |
数据库设计三范式
1 | 什么是数据库设计范式? |
总结表的设计
1 | 一对多: |
嘱咐
1 | 数据库设计三范式是理论上的。 |
转载自:MySQL总结