MySQL专栏
文章平均质量分 72
MySQL有关知识整理及常见问题整理
~四时春~
言行一致是成功的开始
展开
-
MySQL性能分析之explain关键字
性能分析一、性能分析前提知识二、Explain是什么?1、Explain能干什么?2、如何使用?(1)各字段解释一、性能分析前提知识在进行MySQL性能分析之前我们首先要知道MySQL的性能瓶颈都有哪些。如下所示:CPU:CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候IO:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候服务器硬件的性能瓶颈:top,free, iostatvmstat和来查看系统的性能状态二、Explain是什么?使用 EXPLAIN关键字可以模拟优化器执原创 2021-11-23 17:55:56 · 457 阅读 · 0 评论 -
MySQL锁机制
锁机制一、锁的定义1.表锁(偏读)(1)加读锁:(2)加写锁(3)结论(4)如何分析表锁定2.行锁(偏写)(1)容易产生的问题(2)总结(3)行锁分析(4)优化建议一、锁的定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。原创 2021-11-24 22:24:55 · 570 阅读 · 0 评论 -
MySQL中的索引
索引一、含义1、索引的优缺点(1)优点(2)缺点2、索引的基本语法3、索引的分类(1)普通索引(2)唯一索引(3)主键索引(4)单列索引(4)组合索引(5)全文索引4、索引的结构二、哪些情况需要创建索引三、哪些情况不需要创建索引四、索引失效一、含义MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。索引的本质是数据结构。我们自己可以理解为:数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法原创 2021-11-23 23:09:01 · 1638 阅读 · 0 评论 -
常见通用的join查询
join查询分类具体用法分类分类:– 内连接 [inner] join on– 外连接• 左外连接 left [outer] join on• 右外连接 right [outer] join on具体用法原创 2021-11-23 16:23:38 · 124 阅读 · 0 评论 -
MySQL中的存储过程
存储过程含义1、调用语法(1)空参列表(2).创建带in模式参数的存储过程(3).创建out 模式参数的存储过程(4).创建带inout模式参数的存储过程]2、删除存储过程3、查看存储过程的信息二、经典例题含义一组预先编译好的SQL语句的集合,理解成批处理语句存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率创建语法:CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体原创 2021-11-16 21:04:19 · 76 阅读 · 0 评论 -
MySQL中的常见约束
常见约束一、含义二、创建表时添加约束三、修改表时添加约束四、修改表时删除约束一、含义一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束NOT NULL:非空,用于保证该字段的值不能为空比如姓名、学号等DEFAULT:默认,用于保证该字段有默认值 比如性别PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空比如学号、员工编号等UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空 比如座位号CHECK:检查约束【mysql中不支持】原创 2021-11-15 21:35:09 · 142 阅读 · 0 评论 -
MyISAM与InnoDB 的区别
MyISAM与InnoDB 1、MyISAM与InnoDB 的区别2、如何选择:3、InnoDB为什么推荐使用自增ID作为主键?4、innodb引擎的4大特性1、MyISAM与InnoDB 的区别(1)、MyISAM 只有表级锁(table-level locking),⽽InnoDB ⽀持⾏级锁(rowlevel locking)和表级锁,默认为⾏级锁。(2)、InnoDB表必须有唯一索引(如主键)(用户没有指定的话会自己找/生产一个隐藏列Row_id来充当默认主键),而Myisam可以没有。(3原创 2021-11-14 11:53:24 · 82 阅读 · 0 评论 -
连接查询经典案例
1.sql92查询#1、显示所有员工的姓名,部门号和部门名称。SELECT last_name,e.department_id,department_nameFROM employees e,departments dWHERE e.`department_id`=d.`department_id`;#2、查询 90 号部门员工的 job_id 和 90 号部门的 location_idSELECT job_id,location_id,d.department_idFROM departm原创 2021-11-11 12:43:37 · 363 阅读 · 0 评论 -
MySQL中的连接查询
连接查询一、语法二、分类1、内连接(1)等值连接(2)非等值连接(3)自连接2、外连接一、语法select 查询列表 from 表1 别名 【连接类型】 join 表2 别名 on 连接条件 【where 筛选条件】 【group by 分组】 【having 筛选条件】 【order by 排序列表】分类:内连接(★):inner外连接左外(★):left 【outer】右外(★):right 【outer】全外:full【outer】交叉连接:cross二、分类1原创 2021-11-11 12:34:59 · 166 阅读 · 0 评论 -
查询语句优化
查询优化具体使用1、永远小表驱动大表2、order by 关键字优化二级目录三级目录具体使用1、慢查询的开启并捕获2、 explain+慢SQL分析3 、show profile查询QL在Mysq1服务器里面的执行细节和生命周期情况4、SQL数据库服务器的参数调优1、永远小表驱动大表外查询表大,子查询表小,选择IN;外查询表小,子查询表大,选择EXISTS;若两表差不多大,则差不多。2、order by 关键字优化order by 子句,尽量使用Index方式排序,避免使用FileS原创 2021-11-23 23:44:19 · 509 阅读 · 0 评论 -
子查询经典案例
#1、查询工资最低的员工信息:last_name,salary#①查询最低的工资SELECT MIN(salary)FROM employees#②查询last_name,salary,要求salary=①SELECT last_name,salaryFROM employeesWHERE salary=( SELECT MIN(salary) FROM employees);#2、查询平均工资最低的部门信息#方式一:#①各部门的平均工资SELECT AVG(salary原创 2021-11-11 11:05:01 · 361 阅读 · 0 评论 -
MySQL中的子查询
子查询一、含义二、分类1、where或having后面(1)标量子查询★(2)列子查询(多行子查询)★(3)行子查询(结果集一行多列或多行多列)2、select后面3、from后面4、exists后面(相关子查询)相关表详细信息:一、含义出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询特点:①子查询放在小括号内②子查询一般放在条件的右侧③标量子查询,一般搭配着单行操作符使用> < >= <= = <>列子查询,原创 2021-11-11 10:54:40 · 86 阅读 · 0 评论 -
MySQL中的流程控制结构
流程控制结构分支结构分支结构if函数语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面case结构语法:情况1:类似于switchcase 变量或表达式when 值1 then 语句1;when 值2 then 语句2;…else 语句n;end情况2:casewhen 条件1 then 语句1;when 条件2 then 语句2;…else 语句n;end应用在begin end 中或外面if结构语法:i原创 2021-08-17 21:59:34 · 73 阅读 · 0 评论 -
MySQL中的函数
函数含义1.创建语法2.调用语法3.查看函数4.删除函数含义一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1 个返回,适合做处理数据后返回一个结果1.创建语法注意:1.参数列表 包含两部分:参数名 参数类型2.函数体:肯定会有return语句,如果没有会报错如果return语句没有放在函数体的最后原创 2021-08-17 21:47:45 · 106 阅读 · 0 评论 -
MySQL存储引擎介绍
存储引擎一、各存储引擎介绍二、存储引擎相关命令三、MyISAM和InnoDB区别一、各存储引擎介绍MySQL中的存储引擎常用的INNODB和MyISAM,其次是memoryMySQL默认支持的是INNODBINNODB:INNODB存储引擎提供了具有提交、回滚等事务功能、支持自动增长列,外键等功能,INNODB采用聚集索引,索引和数据是存储在同一个文件下,所以INNODB的表的磁盘上存储两个文 件,扩展名.frm(存储表的定义)和.ibd(索引和数据)MyISAM:M原创 2021-08-17 21:10:52 · 98 阅读 · 0 评论 -
MySQL中的变量
变量分类及概述1.系统变量(1)全局变量(2)会话变量2.自定义变量(1)用户变量(2)局部变量(3)案例(4)用户变量和局部变量的对比分类及概述分类系统变量:全局变量会话变量自定义变量:用户变量局部变量1.系统变量说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】variables;2原创 2021-08-17 20:21:40 · 114 阅读 · 0 评论 -
MySQL中的视图
视图前言:一、视图的概念视图与表的区别二、视图的有关操作1.创建视图2.视图的修改3.删除视图4.查看视图5.视图的更新具备以下特点的视图不允许更新前言:MySQL视图所用数据库如下:链接:https://pan.baidu.com/s/1aERjkQC8GkbLJM0wxs_cZQ提取码:6666一、视图的概念一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。和普通表一样使用。应用场景:多个地方用到同样的查询结原创 2021-08-17 18:19:39 · 102 阅读 · 0 评论 -
MySQL中的TCL(事务控制语言)
事务一、事务定义事物的特征(1)原子性(Atomicity)(2)一致性(Consistency)(3) 隔离性(Isolation)(4)持久性(Durability)二、事务的使用1、查看事务:select @@autocommit;2.事务设置:set autocommit3.事务操作(1)开启事务:begin或start transaction(2)事务提交:commit;(3)事务回滚:rollback;(4)保存点:savepoint point14.查看隔离级别:select @@tx_iso原创 2021-08-17 12:15:03 · 161 阅读 · 1 评论 -
MySQL中DDL(数据库自定义语言)语言的学习
数据库自定义语言前言:一、库和表的管理1.库的管理(1)库的创建(2)库的修改(3)库的删除2.表的管理(1)表的创建(2)表的修改(3)表的删除(4).表的复制二、常见数据类型介绍1.整型2.小数3.字符型4.日期型三、常见约束1.创建表时添加约束(1)添加列级约束(2)添加表级约束2.修改表时添加约束3.修改表时删除约束前言:DDL一般指数据定义语言。数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。常见的DDL语句:创原创 2021-08-16 12:15:13 · 138 阅读 · 0 评论 -
MySQL中的DML语言(增、删、改)
数据操纵语言前言:一级目录二级目录三级目录前言:DML语言的意思就是数据操纵语言,在我们的数据库中就是我们的增、删、改的操作。下面就分别介绍MySQL中的DML语言的语法。DML语言所用到的操作数据库:链接:https://pan.baidu.com/s/1dUF7ALBEs5mX14xsw0ZKwA提取码:6666一级目录二级目录三级目录...原创 2021-08-15 22:56:24 · 177 阅读 · 0 评论 -
MySQL中常见函数
常见函数一、单行函数1.字符函数2.数学函数3.日期函数4.其他函数二、分组函数1.简单 的使用2.count函数的详细介绍3.和distinct搭配(去重)前言:以下MySQL函数所用到的数据库:链接:https://pan.baidu.com/s/1vi1Tf73mMKUBudK6hbO-fA提取码:6666一、单行函数1.字符函数length 获取参数值的字节个数SELECT LENGTH('john');结果:concat 拼接字符串SELECT CONCAT(la原创 2021-08-14 12:14:05 · 106 阅读 · 0 评论 -
MySQL中DQL(查询)语言的学习
查询语言一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-08-11 10:53:39 · 190 阅读 · 0 评论 -
初识MySQL
查询语言学习一、数据库的好处二、数据库的常见概念三、数据库存储数据的特点四、MySQL产品的介绍和安装1.MySQL服务的启动和停止2.MySQL服务的登录和退出五、SQL的常见命令六、MySQL的语法规范七、SQL的语言分类一、数据库的好处1、可以持久化数据到本地2、结构化查询二、数据库的常见概念DB:数据库,存储数据的容器DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DBSQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数原创 2021-08-11 10:50:36 · 78 阅读 · 0 评论