MySQL
文章平均质量分 60
MySQL数据库的基础应用及调优
e_nanxu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL二十二:MySQL8.0新特性
MySQL8.0 新特性 一、窗口函数 函数列表 语法结构 # 方式一 SELECT 窗口函数 OVER (PARTITION BY 字段名 ORDER BY 字段名 ASC/DESC) AS 新字段名, 字段名1,... FROM 剩余查询语句; # 方式二 SELECT 窗口函数 OVER 窗口名 FROM 剩余查询语句 WINDOW 窗口名 AS (PARTITION BY 字段名 ORDER BY 字段名 ASC/DESC); 二、公用表表达式(CTE) 普通公用表语法结构 W原创 2022-01-17 23:47:20 · 186 阅读 · 0 评论 -
MySQL二十一:触发器
触发器 一、概述 定义 触发器:是由事件来触发某个操作,这些事件包括INSERT、UPDATE、DELECT事件。 事件:是指用户的动作或触发某项行为 触发程序:当数据库执行这些语句时,相当于事件发生了,就会自动激发触发器执行相应的操作。 使用情形 当对数据表的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器实现 二、创建触发器 语法结构 CREATE TRIGGER 触发器名称 BEFORE/AFTER INSERT/UPDATE/DELETE ON 数据表名 F原创 2022-01-17 22:55:17 · 465 阅读 · 0 评论 -
MySQL二十:游标
游标 一、概述 定义 是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针。 作用 提供了一种灵活的操作方式,能够对结果集中的每一条记录进行定位,并对指定记录中的数据进行操作的数据结构。 效果 让SQL这种面向集合的语言有了面向过程的开发能力。 二、使用步骤 声明游标 DECLARE 游标名 CURSOR FOR 查询语句; 打开游标 OPEN 游标名; 使用游标 # 将数据保存在 var_nameN 变量中 FETCH 游标名 INTO var_name1, var原创 2022-01-17 22:07:12 · 630 阅读 · 0 评论 -
MySQL十九:流程控制语句
流程控制 一、分支结构之一 - - IF 语法结构 IF 表达式1 THEN 操作1; ELSEIF 表达式2 THEN 操作2; ... ; ELSE 操作N; END IF; 二、分支结构之二 - - CASE 语法结构一:类似switch # WHEN后的值与表达式生成的值相去匹配 CASE 表达式 WHEN 值1 THEN 结果1或语句1(语句需加分号;) WHEN 值2 THEN 结果2或语句2(语句需加分号;) ... ELSE 结果N或语句N(语句需加分号;) END C原创 2022-01-17 21:44:36 · 442 阅读 · 0 评论 -
MySQL十八:异常处理
异常处理 一、定义条件 定义 事先定义程序执行过程中可能遇到的问题,给MySQL中的错误码命名 错误码 数值型错误码:MySQL_error_code 字符串型错误码:sqlstate_value 语法格式 DECLARE 自定义错误名称 CONDITION FOR 错误码(错误条件); # 举例 DECLARE Field_Not_Be_NULL CONDITION FOR 1048; DECLARE Field_Not_Be_NULL CONDITION FOR SQLSTATE '230原创 2022-01-16 21:23:05 · 1835 阅读 · 0 评论 -
MySQL十七:变量
在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间数据,或输出最终的结果数据。系统变量 及 用户自定义变量属于服务器层面。启动MySQL服务,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特征。要么是编译MySQL时参数的默认值,要么是配置文件 - my.ini 中的参数值。有些系统变量只能是全局的;有些系统变量既可以是全局又可以是会话;有些系统变量只能是当前会话(相当于在Natival中连接了一次用户) 修改 在MySQL服务原创 2022-01-16 19:59:44 · 1317 阅读 · 0 评论 -
MySQL十六:存储过程与存储函数
存储过程与存储函数 一、概述 相当于Java中的方法 定义 程序化的SQL,预先存储在MySQL服务器上,直接操作底层数据表,需要执行的时候,客户端只需向服务端发出调用命令即可 优点 清晰、安全、减少网络传输量 分类 ① 无参无返回 ② 有参无返回:带IN ③ 无参有返回:带OUT ④ 有参有返回:既带IN,又带OUT 二、创建过程 语法格式 DELIMITER // CREATE PROCEDURE 过程名(IN/OUT/INOUT 参数名 参数类型, ...) [char原创 2022-01-16 16:39:39 · 203 阅读 · 0 评论 -
MySQL十五:视图
视图 一、视图概述 概念 一个或多个数据表里的数据的逻辑显示,视图并不存储数据,是一种虚拟表 引入 2.1 可以帮助我们只使用表的一部分,而不是所有的表 2.2 可以针对不同的用户指定不同的查询视图 理解 3.1 视图的创建和删除不影响对应的基表,数据的增删改会影响基表 3.2 是存储起来的SELECT语句 3.3 向用户提供基表数据的另一种表现形式。 二、创建视图 创建结构 CREATE VIEW 视图名(字段名1, 字段名2, ...) AS SELECT 查询语句原创 2022-01-16 11:30:16 · 131 阅读 · 0 评论 -
MySQL十四:MySQL数据类型
MySQL数据类型 一、MySQL数据类型汇总 二、整型 UNSIGNED 无符号类型,无符号最小取值 0 ZEROFILL 0填充,如果整数指定了M位,则用 0 在左边填充。 如何选择 存在存储空间和可靠性的平衡问题,在实际工作中,系统故障产生的成本远远超过增加几个字段存储空间所产生的成本。 三、浮点型 数据精度 FLOAT(M,D) / DOUBLE(M,D) M:精度,D <= M <= 255 D:标度,小数位,0 <= D <= 30 精度误差原创 2022-01-16 00:30:50 · 277 阅读 · 0 评论 -
MySQL十三:约束
约束 一、约束概述 引入原因 为了保证数据库中的数据完整性,包括数据的精确性和可靠性,防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息。 定义 对数据表中字段的强制规定 考虑约束的方面 实体完整性:例如不能存在完全无法区分的两条记录 域完整性:例如规定其取值范围 引用完整性:关联性表之间的引用关系要完整 用户自定义完整性:根据制定表的实际情况,进行的其它规定 约束的分类 ① 根据数据列的限制 单列约束:每个约束只约束一列 多列约束:每个约束可约束多列数据原创 2022-01-15 22:21:04 · 394 阅读 · 0 评论 -
MySQL十二:DDL与DML同表对比
DDL与DML同表对比 DDL与DML增删改查对比表 DDL与DML的区别 DDL一旦执行,不可以回滚 DML在执行前,加上SET autocommit = FALSE; 则执行后可进行回滚。原创 2022-01-12 10:30:40 · 331 阅读 · 0 评论 -
MySQL十一:DML:对于数据的增、删、改
DML:数据的增、删、改 一、插入数据 方式1:VALUES的方式添加 情况1:为表的所有字段按默认顺序插入数据 # 所有字段全部插入 INSERT INTO departments VALUES (70,'Pub',100,1700); # 部分字段为空 INSERT INTO departments VALUES (100,'Finance',NULL,NULL); 情况2:为表的指定字段插入数据 INSERT INTO departments(department_id,department_n原创 2022-01-12 10:29:20 · 268 阅读 · 0 评论 -
MySQL十: DDL (数据库/数据表的增、查、改、删)
DDL (数据库/数据表的增、查、改、删) 引入 存储数据时处理数据的第一步,只有正确地把数据存储起来,我们才能有效地处理和分析 存储数据过程 一、数据库 创建数据库 方式1:单纯创建数据库 CREATE DATABASE 数据库名; 方式2:创建数据库并指定字符集 CREATE DATABASE 数据库名 CHARACTER SET 字符集; 方式3:判断数据库是否已经存在,不存在则创建数据库(推荐使用) CREATE DATABASE IF NOT EXISTS 数据库名; 查看数据库原创 2022-01-11 16:18:52 · 770 阅读 · 0 评论 -
MySQL九: 子查询
子查询 一、概念 子查询就是一个查询语句嵌套在另一个查询语句内部的查询 SQL中子查询的使用大大增强了SELECT查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较 二、单行子查询 单行比较操作符 = 、 > 、 >= 、 < 、 <= 、 <> WHERE中的子查询 # 返回job_id与141号员工相同,salary比143号员工多的原创 2022-01-09 22:10:16 · 445 阅读 · 0 评论 -
MySQL 八: SELECT执行过程
SELECT执行过程 一、SELECT查询结构 SELECT DISTINCT 选择列(字段) FROM . . . JOIN . . . ON . . . JOIN . . . ON . . 多表的连接方式 WHERE . . . AND . . . 选择行的条件,但是不可以使用聚合函数 GROUP BY 分组 HAVING 可以使用聚合函数进行行的过滤 ORDER BY . . . ASC / DESC 将选择的列进行排序 LIMIT 进行分页显示 UNION A原创 2022-01-04 20:47:30 · 708 阅读 · 0 评论 -
MySQL七: 聚合函数
聚合函数(聚集、分组) 作用于一组数据,并对一组数据返回一个值。 一、常用的聚合函数 AVG和SUM函数 可以对数值型数据使用 MIN和MAX函数 可以对任意数据类型使用 SELECT AVG(salary),SUM(salary),MIN(salary),MAX(salary) FROM employees; COUNT函数 可以对任意数据类型使用,返回表中的记录总数 区别:COUNT(*),COUNT(1),COUNT(列名) ① 搜索引擎为MyISAM,则三者的执行效率相同 ② 搜索引原创 2022-01-04 18:18:02 · 1239 阅读 · 0 评论 -
MySQL六: 单行函数
单行函数 一、概念规则 操作数据对象 结构参数返回一个结果 只对一行进行交换,且每行返回一个结果等 可以嵌套 参数可以是一个列或一个值 二、数值函数 基本函数 # 绝对值函数,返回1 SELECT ABS(-1) FROM DUAL; 角度与弧度互换函数 RADIANS(x):将角度转换为弧度 DEGREES(x):将弧度转换为角度 三角函数 参数均为弧度数,可用RADIANS(x) 将角度转换为弧度数 指数与对数 进制函数 三、字符串函数 注:MySQL中,字符原创 2022-01-04 10:28:16 · 520 阅读 · 0 评论 -
MySQL五:多表查询
多表查询 一、笛卡尔积问题 产生笛卡尔积的原因 省略了多表的连接条件 连接条件无效 所有表中的所有行互相连接 解决方法 在WHERE子句中写入连接条件,如果各表中有相同的列,需在列名之前加上表名前缀 二、多表连接的规则 数据库的查询,涉及到多个表,要对列名前加表的表名(或别名) 连接n个表,至少需要n-1个连接条件 如果在查询中使用了表的别名,就要在整个查询语句中全部使用别名 三、等值连接 vs 非等值连接 等值连接:连接条件为等于 非等值连接:连接条件为非等于的条件,例如:betwe原创 2022-01-02 21:27:02 · 365 阅读 · 0 评论 -
MySQL四:排序与分页
排序与分页 一、排序 排序规则 ASC(ascend):升序 DESC(descend):降序 执行语句:ORDER BY 单列排序 # 默认为ASC升序, SELECT last_name, job_id FROM employees ORDER BY hire_date ; 多列排序 SELECT last_name, job_id FROM employees ORDER BY hire_date, salary DESC; 二、分页 为何使用分页 查询返回的记录太多,需要分原创 2022-01-02 16:54:09 · 326 阅读 · 0 评论 -
MySQL三: 运算符
运算符 一、算术运算符 加减运算 两个整数相加减的结果还是整数 两数中只要有一个数是浮点型,结果就是浮点型 如果需要非数值类型,先尝试转换成数值,如果转换不成功,按0计算 如果遇到NULL,结果也为NULL。 乘除运算 一个数乘除 1 结果均为原数 一个数除以整数,不能处尽,结果为浮点数,并保留4个小数位 一个数除以0,结果为NULL 一个数乘或除NULL,结果为NULL。 求模 正常求模 二、比较运算符 比较运算符经常被用作SELECT查询语句的条件使用,返回符合条件的结果记录 等号运原创 2021-12-30 21:07:34 · 625 阅读 · 0 评论 -
MySQL二:SQL及基本SELECT语句概述
SQL及基本SELECT语句概述 一、SQL语言概述 背景知识 1974年,IBM研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》 两个重要的标准:SQL92 / SQL99 SQL分类 DDL:数据定义语言。定义不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构 关键字:CREATE(创建)、 ALTER (修改)、DROP (删除) DML:数据操作语言。用于添加、删除、更新和查询数据库记录,并检查数据完整性。 关键字:INSE原创 2021-12-30 09:43:19 · 473 阅读 · 0 评论 -
MySQL一:数据库概述
数据库概述 一、数据库与数据库管理系统 DB:数据库 存储数据的仓库,保存一系列有组织的数据,本质是一个文件系统 类似:.docs、.xlsx等文档 DBMS:数据库管理系统 用于建立、使用和维护数据库,用户通过数据库管理系统访问数据库中表内的数据。本质是操作和管理数据库的大型软件 类似:WPS SQL:结构化查询语言 专门用来与数据库通信的语言 二、常见的数据库 RDBMS:关系型数据库 Oracle:第一个商用的RDBMS,诞生于1979年 MySQL:开源NO1,且被广泛应用于各大原创 2021-12-29 23:27:40 · 456 阅读 · 0 评论
分享