MySQL数据库-基础篇
1、了解数据库
数据库:存储数据的仓库,数据是有组织的进行存,简称DataBase(DB)
数据库管理系统:操纵和管理数据库的大型软件,简称DataBase Management System(DBMS)
SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准,简称Structured Query Language(SQL)
主流的关系型数据库管理系统:

mysql官网:https://www.mysql.com/downloads/
需要掌握技能如下:

2、相关面试题
什么是事务,以及事务的四大特性?
事务的隔离级别有哪些,MySQ默认是哪个?
内连接和左外连接的区别是什么?
常用的存储引擎?InnoDB与MyISAM的区别?
MySQL默认的InnoDB引擎的索引是什么数据结构?
如何查看MySQL的执行计划?
索引失效的情况有哪些?
什么是回表查询?
什么是MVCC?
MySQL主从复制的原理是什么?
主从复制之后的读写分离如何实现?
数据库的分库分表如何实现?
3、mysql的启动与停止
windows使用:win + r ,然后输入services.mrc,在弹出的页面中找到mysql的服务,然后右击可以选择启动或者停止
或者
windows使用:win+r,然后输入cmd进入小黑窗页面,然后输入命令(见右图),进行启动或停止


4、mysql的客户端连接.
注意:如果想要使用方式二的方式进行连接,需要配置mysql的环境变量


5、mysql的数据模型

6、SQL
(1)、sql通用语法
sql可以单行或者多行书写,以分号结尾。
SQL语句可以使用空格/缩进来增强语句的可读性
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
注释:单行注释: --注释内容或者#注释内容(MySQL特有)
多行注释:/*注释内容*/
(2)、sql分类

(3)、DDL操作总结

(4)、DML-表中数据的操作


注意:如果说我们需要将某一条数据的某个字段删除,可以使用update命令将该字段设置为null

(5)、DQL-表中数据查询的操作



注意:使用聚合函数的时候,null值是不参与计算的


+
注意:每一个数据库分页查询的语法不一样,注意分区,比如Oracle使用rownumber + 三层嵌套子查询来实现的分页查询

补充:关于sql的执行顺序,上述的是书写sql的顺序

(6)、DCL-数据库管理




7、函数
函数是一段可以直接被另一端程序调用的程序或代码

(1)、字符串函数



![]()
(2)、数值函数


(3)、日期函数





(4)、流程控制函数




8、约束
概述:约束是作用于表中字段的规则,用于限制存储在表中的数据
目的:保证数据库中数据的正确性、有效性和完整性

(1)、约束演示

注意:检查约束有mysql版本限制 可以通过select version()检查自己的mysql的版本

(2)、外键约束:一般开发的时候只需要建立逻辑外键,不需要建立物理外键
概念:外键用来让两张表之间的数据建立连接,从而保证数据的一致性和完整性







9、多表查询
(1)、多表关系




(2)、多表查询概述
概述:指从多张表中查询数据


(3)、内连接:内连接中inner join中的inner关键字是可以省略的

(4)、外连接:一般情况下可以使用左外连接多一些,可以将右外连接改为左外连接,只需要调整下左表对应的表即可

(5)、自连接:自连接的表必须起别名


(6)、联合查询:union、union all


(7)、子查询:sql语句中嵌套select语句,成为嵌套查询,又称子查询

(7.1)、标量子查询:注意标量子查询的返回结果是单个值


(7.2)列子查询


(7.3)、行子查询

(7.4)、表子查询:表子查询一般经常出现在from之后和其他表联合起来进行查询


(8)、多表查询练习

10、事务
(10.1)、事务简介
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交撤销操作请求,即这些操作要么同时成功,要么同时失败。
默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务

(10.2)、事务操作
方式一:需要将事务提交方式由默认自动提交修改为手动提交

方式二:不需要修改事务的提交方式

(10.3)、事务四大特性(ACID)

(10.4)、并发事务问题

(10.5)、并发事务演示及隔离级别:事务隔离级别越高,数据越安全,但是性能越低




浙公网安备 33010602011771号