MySQL
从易到难,逐步了解MySQL
沐风清寒
努力ing
展开
-
MySQL之慢查询日志和连接管理
慢查询日志 定义:MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值(long_query_time(默认为10)的语句 SHOW VARIABLES LIKE ‘%slow_query_log%’; #可以查看开启状态和日志存储位置 ①开启:SET GLOBAL slow_query_log = 1 #开启日志 SET GLOBAL long_que...原创 2020-02-11 09:39:19 · 134 阅读 · 0 评论 -
MySQL之EXPLAIN(索引优化)
EXPLAIN关键字 ①作用:模拟优化器执行SQL查询语句,分析查询语句或表结构的性能瓶颈 可以看出:表读取顺序、可使用索引、数据读取操作操作类型、实际使用的索引 表之间的引用、每张表的物理查询行数 使用方法:EXPLAIN + SQL查询语句 ②关键字段(重点关注字段用*标注) 字段 含义 *id 表名表的读取顺序,相同(执行顺序从上至下),不同(从大到小) id每个号码,表示一...原创 2020-02-10 12:08:25 · 164 阅读 · 0 评论 -
MySQL之Index(索引)
基本原理 索引(INDEX):帮助MySQL高效获取数据的数据结构 PS:索引本身很大,不可能全部存储在内存中,往往以索引文件的形式存储在磁盘上 优点:提高检索效率,降低数据库的IO成本;降低了排序成本,减少CPU消耗 缺点:占用空间,在写入数据时加大了开销 索引结构: B树 (每个结点都包含指向数据指针) 效率高,但对内存开销大,每次查询缺页时都会加载较多数据 B+树 (只有叶子结点包含指...原创 2020-02-09 10:13:18 · 523 阅读 · 0 评论 -
MySQL之逻辑架构和存储引擎
MySQL逻辑架构 外部程序访问步骤 Connectors --> Connection Pool --> Caches & Buffers -->SQL Interface –> Parser --> Optimizer --> Pluggable Storage Engines 构件介绍 Caches:缓存,读信息(相关参数:have_query_...原创 2020-02-08 10:05:24 · 104 阅读 · 0 评论 -
MySQL之User(用户)和Privilege(权限)
用户管理 在mysql库user表中存储着所有用户: SELECT * FROM user\G 主要字段含义:HOST:访问端 USER:用户 authentication_string:密码(加密格式) ①创建用户 CREATE USER 用户名[@访问端(ip/localhost)] identified by ‘密码’ 创建新用户,默认所有远程主机(同 %),此处指定访问端时可使用通...原创 2020-02-07 11:07:48 · 4253 阅读 · 0 评论 -
MySQL之流程控制结构(分支,循环)
流程控制结构 顺序结构:程序从上往下依次执行 分支结构:程序从两条或多条路径中选择一条去执行 ①IF函数:实现简单的双分支 IF(条件,结果1,结果2) ②CASE结构:相当于switch或多重if,每个then后语句都以分号结尾 位置: 作为表达式,可用在SELECT后,作为独立的语句时,必须放在BEGIN END中 CASE 字段 WHEN 值 THEN ; WHEN 值 ...原创 2020-02-06 11:18:42 · 285 阅读 · 0 评论 -
MySQL之Procedure(存储过程)和Function(函数)
一组预先编译好的SQL语句的集合,相当于批处理语句 存储过程 特点:提高代码的重用性、简化操作、减少编译次数和数据库的连接次数,提高了效率 ①创建 CREATE PROCEDURE 存储过程(参数列表) BEGIN 存储过程体(一组合法的sql语句) END 参数列表:参数模式 参数名 参数类型 参数模式: IN(该参数作为输入) OUT(相当于返回值) INOUT(相当于引用...原创 2020-02-05 10:36:42 · 841 阅读 · 0 评论 -
MySQL之Variables(变量)
变量 系统变量:全局变量、会话变量 自定义变量:用户变量、局部变量 系统变量:由系统提供,属于服务器层面 PS:全局级别:GLOBAL 会话级别:SESSION 默认为SESSION ①查看所有的系统变量: SHOW GLOBAL|[SESSION] VARIABLES ②查看满足条件的部分系统变量: SHOW GLOBAL|[SESSION] VARIABLES LIKE ‘%’ ③查看...原创 2020-02-04 09:54:10 · 1690 阅读 · 1 评论 -
MySQL之View(视图)
基本知识 ①含义:虚拟表,mysql5.0.1出现的新特性,是通过表动态生成的数据 使用场景:在多个地方用到同样的查询结果,使用的sql语句较复杂,或需求多变时使用(可以保证与数据库进行连接的接口不做更改,只改变视图) ②特点:视图中的数据来自于查询所使用的表,是在使用视图时动态生成的,只保存sql逻辑,不保存查询结果 ③创建:CREATE VIEW 视图名 [(列的新名)] AS SELECT...原创 2020-02-03 10:03:44 · 577 阅读 · 0 评论 -
MySQL常用数据类型以及内置函数
常见数据类型 1)、数值型:整型、小数(定点数、浮点数) ①整型 分为有符号和无符号两种 Tinyint:1个字节 Smallint:2个字节 Mediumint:3个字节 Int/Integer:4个字节 Bigint:8个字节 默认为无符号类型,即-n~n,若需无符号的,则应追加unsigned关键字 若插入数值超出范围...原创 2020-02-02 10:51:22 · 242 阅读 · 0 评论 -
MySQL之TCL(事务控制)语句
事务 一个或一组sql语句组成的执行单元,要么全部执行,要么全部不执行,若某一条失败,则会回滚(如:转账) 存储引擎(表类型):在mysql中的数据用不同的技术存储在文件(或内存)中。可以使用SHOW ENGINES,来查看mysql支持的存储引擎。 INNODB支持事务,MYISAM、MEMORY不支持事务 事务的ACID属性 ①原子性(Atomicity):事务是一个不可分割的工作单位 ②一致...原创 2020-02-01 10:58:52 · 288 阅读 · 0 评论 -
MySQL之DDL(定义)语句
库的管理 ①创建: CREATE DATABASE [IF NOT EXISTS] 库名 ②查看:SHOW DATABASES ③修改:库名可以直接去修改存储文件 ALTER DATABASE 库名 CHARACTER SET 编码方式 COLLATE gbk_chinese_ci 设置排列方式(防止出现中文乱码) ④删除:DROP DATABASE IF EXISTS 库名 表的管理 ①...原创 2020-02-01 00:13:47 · 155 阅读 · 0 评论 -
MySQL之DML(操作)语句
插入:INSERT ①INSERT INTO 表名(列名…) values (值…) ps:列的顺序要和值的类型相对应,字符类型数值推荐使用单引号 不可以为null的列且无默认值必须插入数值 省略列名,默认所有列,且列的顺序和表中列的顺序一致 ②INSERT INTO 表名 SET 列名=值,列名=值,… tips: ①INSERT INTO 表名(列名…) values (值…),(值…)…支持...原创 2020-01-30 11:06:12 · 207 阅读 · 0 评论 -
MySQL之DQL(查询)语句
执行顺序 ⑤SELECT 查询列表 ①FROM 表名 ②WHERE 条件(> < = <> >= <= and or not like between and in not in'is null` ‘is not null’) ③GROUPY BY 字段(为了表结构完整,在select子句的表达式中只能使用group by表达式中的一列或多列...原创 2020-01-29 09:57:47 · 157 阅读 · 0 评论 -
MySQL基础知识
DataBase 实现持久化有组织的存储,方便查询 数据库是DataBses Management System创建和操作的容器 常见数据库管理系统(DBMS): MySQL (开源) Oracel(贵、服务收费) DB2 (适合处理海量的数据) SqlServer(只适合windows操作系统) SQL(Structure Query Language):结构化查询语言,专门用于和数据库通信的语...原创 2020-01-28 21:00:01 · 89 阅读 · 0 评论