【MySQL学习1】SQL语言简介及数据库简介https://www.52txr.cn/2021/mysql1.html
本节大致介绍数据库。
熟练地掌握数据库的安装与卸载。
图形化管理工具是为了更好操作数据库。
【MySQL学习4】MySQL数据库基本操作(一)_DDLhttps://www.52txr.cn/2022/mysql4.htmlDDL(Data Definition Language),数据定义语言。本节讲DDL-数据库操作。
对数据库的常用操作
对表结构的常用操作
修改表结构
【MySQL学习5】MySQL数据库基本操作(二)_DMLhttps://www.52txr.cn/2022/mysql5.htmlDML(Data Manipulation Language),指数据操作语言,用来对数据库中表的数据记录进行更新。插入insert、删除delete、更新update。
【MySQL学习6】MySQL约束之主键约束https://www.52txr.cn/2022/mysql6.html
约束实际上就是表中数据的限制条件。本节介绍添加单列主键、添加多列联合主键、删除主键。
表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。
【MySQL学习7】MySQL约束之自增长约束https://www.52txr.cn/2022/mysql7.html通过给字段添加 auto_increment 属性来实现主键自增长。可以自定义起始值。注意delete和truncate之后的自增长的区别。
【MySQL学习8】MySQL约束之非空约束与唯一约束https://www.52txr.cn/2022/mysql8.html非空约束就是必须有数据,不允许为空。唯一约束就是指定的那个参数,它所在的一列里每个数据都不允许有重复。
【MySQL学习9】MySQL约束之默认约束和零填充约束https://www.52txr.cn/2022/mysql9.html默认值约束就是在不指定值的时候使用提前设定好的值。零填充约束只是为了对齐,值的位数不长时在前面补0,了解即可。
【MySQL学习10】MySQL数据库DQL基本查询(一)https://www.52txr.cn/2022/mysql10.html
数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。
MySQL提供了功能强大、灵活的语句来实现这些操作。
MySQL数据库使用select
语句来查询数据。
【MySQL学习11】MySQL数据库DQL基本查询(二)https://www.52txr.cn/2022/mysql11.html本节讲解排序查询、聚合查询、分组查询、分页查询,以及INSERT INTO SELECT语句、SELECT INTO FROM语句。
【MySQL学习12】MySQL数据库DQL基本查询(三)https://www.52txr.cn/2022/mysql12.html
本节讲解正则表达式。
正则表达式regularexpression描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。
【MySQL学习13】MySQL多表操作及多表关系介绍https://www.52txr.cn/2022/mysql13.html
实际开发中,一个项目通常需要很多张表才能完成。且这些表的数据之间存在一定的关系。
多表关系可以概括为“一对多”、“一对多/多对一”、“多对多”。
【MySQL学习14】MySQL多表操作之外键约束https://www.52txr.cn/2022/mysql14.htmlMySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。
【MySQL学习15】MySQL多表操作之联合查询https://www.52txr.cn/2022/mysql15.html本节介绍多表联合查询的概念及应用,包括交叉连接查询、内连接查询、外连接查询、子查询及自关联查询。
【MySQL学习16】MySQL常用的函数(一)https://www.52txr.cn/2022/mysql16.html本节介绍MySQL函数,包括聚合函数、数学函数、字符串函数、日期函数、控制流函数。窗口函数在下一节介绍。
【MySQL学习17】MySQL常用的函数(二)https://www.52txr.cn/2022/sql17.html
MySQL 8.0 新增窗口函数,窗口函数又被称为开窗函数,与Oracle 窗口函数类似,属于MySQL的一大特点。
聚合函数是对一组数据计算后返回单个值(即分组),非聚合函数一次只会处理一行数据。窗口聚合函数在行记录上计算某个字段的结果时,可将窗口范围内的数据输入到聚合函数中,并不改变行数。
【MySQL学习18】MySQL视图基本操作https://www.52txr.cn/2022/mysql18.html
视图(view)是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用。
数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。
使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。
【MySQL学习19】MySQL存储过程(一)概述及入门案例https://www.52txr.cn/2022/mysql19.html
•MySQL 5.0 版本开始支持存储过程。
•简单的说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;
•存储过就是数据库 SQL 语言层面的代码封装与重用。
简单来说,就是c语言之类编程里的函数。
【MySQL学习20】MySQL存储过程(二)变量及参数传递https://www.52txr.cn/2022/mysql20.html变量包括局部变量、用户变量、系统变量,参数传递包括in、out、inout。
【MySQL学习21】MySQL存储过程(三)控制语句https://www.52txr.cn/2022/mysql21.html条件控制(if和case)
循环语句(while、repeat、loop)
【MySQL学习22】MySQL存储过程(四)游标和异常处理https://www.52txr.cn/2022/mysql22.html游标cursor是用来存储查询结果集的数据类型,在存储过程和函数中可以使用光标对结果集进行循环的处理。MySql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现。
【MySQL学习23】MySQL存储函数https://www.52txr.cn/2022/mysql23.htmlMySQL存储函数(自定义函数),函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。
存储函数和存储过程一样,都是在数据库中定义一些 SQL 语句的集合。
【MySQL学习24】MySQL触发器(了解)https://www.52txr.cn/2022/mysql24.html
触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动条用。
MySQL中,只有执行insert
,delete
,update
操作时才能触发触发器的执行
触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录
, 数据校验等操作 。
使用别名 OLD
和 NEW
来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。
【MySQL学习25】MySQL索引(一)https://www.52txr.cn/2022/mysql25.html索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。
索引类似一本书的目录,比如要查找’student’这个单词,可以先找到s开头的页然后向后查找,这个就类似索引。
总而言之,就是一个字:“快”。
【MySQL学习26】MySQL索引(二)https://www.52txr.cn/2022/mysql26.html本节介绍索引方式中的单列索引。具体又分为普通索引、唯一索引、主键索引。
单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。
普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。
主键索引:每张表一般都会有自己的主键,当我们在创建表时,MySQL会自动在主键列上建立一个索引,这就是主键索引。主键是具有唯一性并且不允许为NULL,所以他是一种特殊的唯一索引。
【MySQL学习27】MySQL索引(三)https://www.52txr.cn/2022/mysql27.html本节讲解组合索引、全文索引及空间索引。空间索引了解即可,一般情况使用不多。
【MySQL学习28】MySQL索引(四)https://www.52txr.cn/2022/mysql28.html主要讲解索引的原理,Hash和B-Tree的原理,以及索引的优缺点和使用建议。
【MySQL学习29】MySQL存储引擎(了解)https://www.52txr.cn/2022/mysql29.html主要是理论,了解即可。
【MySQL学习30】MySQL的事务(了解)https://www.52txr.cn/2022/mysql30.html
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理 DDL、DML、DCL 操作,比如 insert,update,delete 语句,默认是自动提交的。
【MySQL学习31】MySQL锁机制(了解)https://www.52txr.cn/2022/mysql31.html
锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。
可以想象成火车上的厕所。厕所为乘客共享,当一个人进去之后,锁上。等出去之后,开锁,再进去的人锁上。
在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。
【MySQL学习32】MySQL日志(了解)https://www.52txr.cn/2022/mysql32.html
在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外。
日志具体分为错误日志、二进制日志、查询日志、慢查询日志。
【MySQL学习33】MySQL的优化(一)https://www.52txr.cn/2022/mysql33.html本节主要介绍查看SQL语句的效率,以及如何定位到运行慢的句子。
MySQL的优化方式有很多,大致我们可以从以下几点来优化MySQL:
从设计上优化
从查询上优化
从索引上优化
从存储上优化
【MySQL学习34】MySQL的优化(二)https://www.52txr.cn/2022/mysql34.html介绍explain执行计划的基本操作。
【MySQL学习35】MySQL的优化(三)https://www.52txr.cn/2022/mysql35.html本节介绍show profile句子,查看trace优化器。了解即可。
【MySQL学习36】MySQL的优化(四)https://www.52txr.cn/2022/mysql36.html本节介绍索引优化。索引是数据库优化最常用也是最重要的手段之一,较为重要。
【MySQL学习37】MySQL的优化(五)https://www.52txr.cn/2022/mysql37.html大批量插入数据的优化,优化insert语句,优化order by语句,优化子查询,limit优化。
【MySQL学习38】基于Python操作的PyMySQLhttps://www.52txr.cn/2022/mysql38.htmlPyMySQL 是一个纯 Python 实现的 MySQL 客户端库,支持兼容 Python 3,用于代替 MySQLdb。
欢迎访问个人博客: