自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(690)
  • 收藏
  • 关注

原创 (93)课115:查看触发器SHOW TRIGGERS;删除触发器DROP TRIGGER【数据库名.】trigger_name;举例:修改表后的修改日志表同步,修改表前的校验

(190)(191)

2025-06-15 23:51:42 38

原创 (92)课114创建触发器:CREATE TRIGGER 触发器名 BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名 FOR EACH ROW BEGIN 语句;end;

(189)(190)

2025-06-15 23:27:17 44

原创 (91)课113:存储函数与存储过程的区别总结。

(188)(189)

2025-06-15 23:09:12 68

原创 (90)课112函数的定义与调用:CREATE FUNCTION 函数名([参数列表])RETURNS type【DETERMINISTIC等】BEGIN..RETURN 值;end;select函名

(187)(188)(189)

2025-06-15 22:36:30 48

原创 (89)课110--111:无返回值的过程函数的综合举例,更新学生的借书记录。

(185)(186)(187)

2025-06-15 12:42:25 71

原创 (88)课109 mysqL里的异常处理,即条件处理程序:DECLARE handler_action HANDLER FOR condition_value【,其他错误码】statement;

(182)(183)

2025-06-15 09:11:30 44

原创 (87)课108保存结果集:声明游标DECLARE 游标名 CURSOR FOR 查询语句;打开游标OPEN 游标名;推进游标FETCH 游标名 INTO 变量【,变量】;关闭游标CLOSE 游标名;

(180)(181)

2025-06-15 08:14:33 85

原创 (86)课105--107循环控制:WHILE 条件 DO 语句;END WHILE;或 REPEAT SQL逻辑... UNTIL 条件 END REPEAT;或LOOP、LEAVE、ITERATE

(177)(178)

2025-06-15 06:59:08 58

原创 (85)课104过程里的 case选择控制:case 值 when 值 then 语句;else 语句;end case;或case when 条件 then 语句;else 语句;end case;

(175)(176)

2025-06-15 05:11:19 42

原创 (84)课103带输入输出参数的过程定义:CREATE PROCEDURE 过程名称(【IN / OUT / INOUT 参数名 参数类型】) BEGIN SQL语句 END;INOUT 类型更方便

(174)(175)

2025-06-15 03:53:38 39

原创 (83)课102:过程里的条件判断 IF 条件1 THEN .. ELSEIF 条件2 THEN .. ELSE .. END IF;

(173)(174)

2025-06-14 15:48:59 62

原创 (82)课101:局部变量的赋值 SET 变量名 := 值;或 SELECT 字段名 INTO 局部变量名 FROM 表名;读取局部变量 select 变量名;

(172)(173)

2025-06-14 15:47:35 40

原创 (81)课101:全局变量适用于所有会话,自定义变量适于本次会话,局部变量只用于本函数过程内。声明局部变量 DECLARE 局部变量名 变量类型【DEFAULT 默认值】;

(172)(173)

2025-06-14 15:17:59 65

原创 (80)课100用户自定义变量:SET @var_name := 值【依次类推】;通过查询赋值SELECT 字段名 INTO @var_name FROM 表名;读取SELECT @var_name;

(171)(172)

2025-06-14 15:06:23 65

原创 (79)课98--99:删除过程DROP PROCEDURE【IF EXISTS】过程名;查看/设置系统变量SHOW(set)【SESSION | GLOBAL】VARIABLES(变量名 = 值);

(169)(170)

2025-06-14 12:32:00 40

原创 (78)课98:查看库里已有的函数过程 show procedure status【where db = ‘库名‘】;查看过程定义 SHOW CREATE PROCEDURE 过程名;等等相关

(168)(169)

2025-06-14 11:35:37 379

原创 (77)课96--98:过程是没有返回值的函数,重用了代码。创建过程 CREATE PROCEDURE 过程名(【参数列表】)BEGIN SQL语句 END;调用过程 CALL 过程名(【参数】);

(166)(167)

2025-06-14 08:35:40 64

原创 (76)课94--95:视图主要是用于查询而非数据更新,基于视图的更新是有限制的。聚合排序去重,union连接后得到的视图,均不能被修改。视图的好处:简单安全数据独立。

(164)(165)

2025-06-14 07:45:25 42

原创 (75)课92--93视图约束 with cascaded(local) check option:不带with则无约束。带with默认级联约束。对顶层视图的修改绕不开视图链上底层视图上的约束。

(162)(163)

2025-06-14 05:02:30 81

原创 (74)课91:修改视图定义 ALTER VIEW 视图名[(列名列表)] AS SELECT语句【WITH [ CASCADED | LOCAL ] CHECK OPTION】

(161)(162)

2025-06-14 04:14:32 44

原创 (73)课91:查看视图的结构SHOW CREATE VIEW 视图名;删除视图DROP VIEW【IF EXISTS】视图名 [,视图名];

(160)(161)

2025-06-14 03:36:20 46

原创 72课91创建与修改视图:CREATE【OR REPLACE】VIEW 视图名称[(列名列表)] AS SELECT语句【WITH [ CASCADED | LOCAL ] CHECK OPTION】

(159)(160)

2025-06-14 02:55:00 104

原创 (71)课90 update 优化:引擎 INNODB支持事务外键行级锁,但要求有合适的列索引,不用遍历整张表,才用行级锁即可。否则行级锁会升级为表锁,极大限制并发效率。行级锁时针对索引加的锁。

(158)(159)

2025-06-13 14:11:19 109

原创 (70)课89:count(列名)不会统计值为 NULL的列。查询效率:count(字段) < count(主键 id) < count(1) ≈ count(*),所以尽量使用 count(*)。

(157)(158)

2025-06-13 13:32:41 108

原创 (69)课88 limit 分页优化:大数据量时进行分页查询,越往后,分页查询效率越低。优化思路: 一般分页查询时,通过创建 覆盖索引 能够比较好地提高性能,可以通过覆盖索引加子查询形式进行优化。

(156)(157)

2025-06-13 12:48:37 101

原创 (68)课87 group by 优化:在分组操作时,也可以通过索引来提高效率。 分组操作时,索引的使用同排序操作也是满足最左前缀法则的。

(155)(156)

2025-06-13 12:00:29 75

原创 (67)课86: order by优化总结,查看控制排序缓冲区大小的变量 show variables like ‘sort_buffer_size‘。

(154)(155)

2025-06-13 11:48:23 249

原创 (66)课86 order by优化:Using index / filesort。创建逆序(联合)索引 create index 索引名 on 表名(age asc , phone desc);

(153)(154)

2025-06-13 09:45:04 96

原创 (65)课85主键优化:为表或某列的索引设置页阈值 MERGE_THRESHOLD的语法见正文。总结主键索引的设计原则

(151)(152)

2025-06-13 06:45:50 94

原创 (64)课83--85主键优化:在 InnoDB引擎中,表数据是按主键顺序存放的,应按主键的顺序插入;乱序插入的页分裂与删除时的页合并会耗时。MERGE_THRESHOLD合并页的阈值(1到50默认)

(149)(150)

2025-06-13 05:52:54 61

原创 63课82:load data local infile ‘D:\x.t‘ into table 表 fields terminated by ‘,‘ lines terminated by ‘\n‘

(148)(149)

2025-06-13 05:48:17 69

原创 (62)课82:高效填表之 set global local_infile = 1; 设置全局参数 local_infile 为1,开启从本地加载文件导入数据的开关

(149)(150)

2025-06-13 05:35:01 57

原创 (61)课81--82:总结索引设计的 7 个原则。高效插入数据之以此方式登录,才可以用 load 命令读入文件来填充表:mysql –-local-infile -u root -p root

(147)(148)

2025-06-13 03:38:12 111

原创 (60)课80:在业务场景中,如果存在多个查询条件,考虑针对于查询字段建立索引时,建议建立联合索引(并考虑强制使用 force index 关键字),而非单列索引。

(146)(147)

2025-06-13 03:04:57 74

原创 (59)课79前缀索引:若文本列里的字符串很长,就不适宜直接为其建立索引,可只为列文本的前几个字符建立索引 create index 索引名 on 表名( column(n) );及其查询流程

(145)(146)(147)

2025-06-13 00:28:49 88

原创 (58)课78:尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少 select * 的使用。恰当的使用联合索引,可避免回表查询

(144)(145)

2025-06-12 22:46:50 91

原创 (57)课77用 sqL 提示来指导语句优化:explain select * from 表名 use(ignore、force) index(索引名) where 条件

(143)(144)

2025-06-12 11:48:29 91

原创 (56)课76列索引失效的情况汇总(下):where条件里使用了 or 连接,则 or 两边的列里都有索引,才不会使列索引失效;若查找时命中率太高则全表扫描会优于使用索引。

(142)(143)

2025-06-12 11:05:00 76

原创 (55)课76列索引失效的情况汇总(上):在索引列上进行了函数运算,索引失效;对字符串型的索引列,比较时未提供带引号的参数;模糊查询 LIKE 时,在索引列的头部使用了通配符%或_;还有见下篇

(142)(143)(144)

2025-06-12 10:07:33 69

原创 (54)课75:联合索引遇到了范围查询(>,<),则范围列右侧的列索引会失效;改为(>=、<=),就可避免范围失效。故开发中对于范围查询应尽可能使用 >= 而非 >。

(141)(142)

2025-06-12 09:18:00 97

这是关于 navi ca t17 的介绍

这是关于 navi ca t17 的介绍

2025-05-28

QT6 阅读与注释主窗体 QMainWindow,包括了对码头组件 QDockwidget的成员函数

QT6 阅读与注释主窗体 QMainWindow,包括了对码头组件 QDockwidget的成员函数

2025-05-27

QT6 阅读与注释主窗体里的码头组件 QDockWidget

QT6 阅读与注释主窗体里的码头组件 QDockWidget

2025-05-27

QT6 阅读与注释滚动容器 QScrollArea

QT6 阅读与注释滚动容器 QScrollArea

2025-05-26

QT6 阅读与注释工具箱 QToolBox

QT6 阅读与注释工具箱 QToolBox

2025-05-25

QT6 阅读与注释工具按钮 QToolButton

QT6 阅读与注释工具按钮 QToolButton

2025-05-24

QT6 阅读与注释工具栏 QStatusBar,给出源码

QT6 阅读与注释工具栏 QStatusBar,给出源码

2025-05-21

QT6 阅读与注释工具栏 QToolBar,给出源码

QT6 阅读与注释工具栏 QToolBar,给出源码

2025-05-20

QT6 阅读与注释菜单栏 QMenuBar

QT6 阅读与注释菜单栏 QMenuBar

2025-05-20

QT6 阅读与注释 QActionGroup,并给出源代码;其是容器,以容纳菜单栏与工具栏里的按钮,组成按钮组

QT6 阅读与注释 QActionGroup,并给出源代码;其是容器,以容纳菜单栏与工具栏里的按钮,组成按钮组

2025-05-19

QT6 阅读与注释菜单栏里的菜单对象 QMenu,以及源代码

QT6 阅读与注释菜单栏里的菜单对象 QMenu,以及源代码

2025-05-19

QT6 阅读与注释重要的基类控件 QWidget,这是其精简版

QT6 阅读与注释重要的基类控件 QWidget,这是其精简版

2025-05-18

QT6 阅读与注释 QAction,给出源代码,其实现了菜单栏与工具栏中的按钮

QT6 阅读与注释 QAction,给出源代码,其实现了菜单栏与工具栏中的按钮

2025-05-17

QT6 源:阅读与注释 QPlainTextEdit,给出源代码

QT6 源:阅读与注释 QPlainTextEdit,给出源代码

2025-05-16

QT6 阅读与注释 QAbstractScrollArea,其是文本框 QPlainTextEdit、QTextEdit的父类

QT6 阅读与注释 QAbstractScrollArea,其是文本框 QPlainTextEdit、QTextEdit的父类

2025-05-15

QT6 阅读与注释行输入框类 QLineEdit

QT6 阅读与注释行输入框类 QLineEdit

2025-05-15

QT6 阅读与注释组合框 QComboBox

QT6 阅读与注释组合框 QComboBox

2025-05-13

QT6 阅读 QMap<key,T>以及源代码:a i 增改,value()查询,删 remove(),这些已足够

QT6 阅读 QMap<key,T>以及源代码:a[ i ] 增改,value()查询,删 remove(),这些已足够

2025-05-12

QT6 共用体类 QVariant 及其源代码

QT6 共用体类 QVariant 及其源代码

2025-05-11

QT6 阅读与注释 LCD显示类 QLCDNumber ,该类继承于容器框架 QFrame

QT6 阅读与注释 LCD显示类 QLCDNumber ,该类继承于容器框架 QFrame

2025-05-10

QT6 阅读与注释计时器类 QElapsedTimer ,该类没有继承于 QObject

QT6 阅读与注释计时器类 QElapsedTimer ,该类没有继承于 QObject

2025-05-10

QT6 阅读与注释定时器控件 QTimer

QT6 阅读与注释定时器控件 QTimer

2025-05-10

QT6 阅读与注释日历展示控件 QCalendarWidget ,源代码

QT6 阅读与注释日历展示控件 QCalendarWidget ,源代码

2025-05-09

QT6 阅读与注释日期时间类型的界面输入控件 QDateTimeEdit、QTimeEdit、QDateEdit

QT6 阅读与注释日期时间类型的界面输入控件 QDateTimeEdit、QTimeEdit、QDateEdit

2025-05-09

QT6 阅读与注释日期类型 QDate、时间类型 QTime、日期时间类型 QDateTime

QT6 阅读与注释日期类型 QDate、时间类型 QTime、日期时间类型 QDateTime

2025-05-08

QT6 阅读与注释进度条 QProgressBar 的源码,其是界面输出类,是 QWidget 的子类

QT6 阅读与注释进度条 QProgressBar 的源码,其是界面输出类,是 QWidget 的子类。

2025-05-06

QT6 阅读与注释表盘 QDial 的源码,其是基类QAbstractSlider 的子类

QT6 阅读与注释表盘 QDial 的源码,其是基类QAbstractSlider 的子类

2025-05-05

QT6 阅读与注释滑动条 QSlider 的源码,其是基类QAbstractSlider 的子类

QT6 阅读与注释滑动条 QSlider 的源码,其是基类QAbstractSlider 的子类

2025-05-05

QT6 阅读与注释滚动条 QScrollBar 的源码,其是基类QAbstractSlider 的子类

QT6 阅读与注释滚动条 QScrollBar 的源码,其是基类QAbstractSlider 的子类

2025-05-05

QT6 滑动条的基类 QAbstractSlider 的源码

QT6 滑动条的基类 QAbstractSlider 的源码

2025-05-05

QT6 补充本 QWidget类与QDialog类的信号与槽函数汇总

QT6 补充本 QWidget类与QDialog类的信号与槽函数汇总

2025-05-04

QT6 阅读与注释单选框这个类型的按钮

QT6 阅读与注释单选框这个类型的按钮

2025-05-03

QT6 阅读与注释复选框这个类型的按钮 QCheckBox

QT6 阅读与注释复选框这个类型的按钮 QCheckBox

2025-05-03

QT6 阅读与注释按钮类 QPushButton,带上了 官方的注释概述

QT6 阅读与注释按钮类 QPushButton,带上了 官方的注释概述

2025-05-03

QT6 阅读与注释按钮类的基类 QAbstractButton

QT6 阅读与注释按钮类的基类 QAbstractButton

2025-05-03

QT6 阅读与注释类 QSpinBox ,QDoubleSpinBox 这俩螺旋框

QT6 阅读与注释类 QSpinBox ,QDoubleSpinBox 这俩螺旋框

2025-05-02

QT6 源:阅读与注释类 QAbstractSpinBox ,这是螺旋框的基类

QT6 源:阅读与注释类 QAbstractSpinBox ,这是螺旋框的基类

2025-05-01

QT6 阅读与注释 QString 这个类,包含了 QString 类、与 QLatin1String 类的完整源码

QT6 阅读与注释 QString 这个类,包含了 QString 类、与 QLatin1String 类的完整源码

2025-04-30

QT6 介绍 QChar 这个类,其存储了 unicode16 编码形式的字符

QT6 介绍 QChar 这个类,其存储了 unicode16 编码形式的字符

2025-04-28

QT6 存储 c 语言字符串的类 QByteArray 的源码阅读

QT6 存储 c 语言字符串的类 QByteArray 的源码阅读

2025-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除