MySQL

MySQL8.0+ lead() 函数:跳下几行访问

在MySQL中,lead(expr, n) 函数用于访问后续行的数据,即返回当前行后面第n行的值。其语法格式如下:lead(expr,n)over(partitionbyexprorderbyexpr)--返回后续行的值lead()函数是一个窗口函数,用于访问结果集中当前行后面的指定行的数据

MySQL month() 函数:提取日期的月份

在MySQL中,month(date) 函数用于提取日期的月份部分,即返回日期中的月份数值(1-12)。其语法格式如下:month(date)--返回日期的月份month()函数根据日期参数提取其中的月份部分,返回1到12的整数值。值得注意的是,month(NULL) 的返回值是NULL;而month('字符串'),如果字符串无法转换为有效的日期格式,month() 函

MySQL 外键约束

外键约束核心概念基本定义主表(父表):被引用的表,包含主键从表(子表):包含外键的表,引用主表的主键参照完整性:确保外键值必须匹配主表中存在的值或为NULL外键约束规则1. 主表必须存在且已定义主键2. 外键列和主键列数据类型必须兼容3. 外键列允许NULL值(除非明确设置NOT NULL)4. 外键列和主键列的数目必须相同5. InnoDB存储引擎支持外键(MyISAM不

MySQL json_length() 函数:JSON长度

在MySQL中,json_length(json_doc[, path]) 函数用于获取JSON文档或数组的长度,即返回JSON数组的元素个数或JSON对象的成员个数。其语法格式如下:json_length(json_doc[,path])--返回JSON文档或数组的长度json_length()函数是一个JSON函数,用于计算JSON数组的元素数量或JSON对象的成员数量

MySQL ifnull() 函数:处理NULL值

在MySQL中,ifnull(expr1, expr2) 函数用于处理NULL值,即如果expr1为NULL则返回expr2,否则返回expr1。其语法格式如下:ifnull(expr1,expr2)--处理NULL值ifnull()函数是一个流程控制函数,用于在expr1为NULL时返回备用值expr2。值得注意的是,如果expr1不为NULL,则返回expr1;如果ex

MySQL 创建存储过程

一、 为什么使用存储过程?简化操作:将多步操作封装成一个命令。提高效率:一次编译,多次运行,减少网络传输。减少错误:集中处理业务逻辑,避免在应用程序中重复编写和出错。二、 创建存储过程的基本语法CREATE PROCEDURE <过程名> ( [过程参数[,…] ] )BEGIN <过程体>END;1.

MySQL 创建索引

创建索引主要有三种时机:1) 建表时同时创建;2) 修改已存在的表结构时添加;3) 使用专门的 `CREATE INDEX` 语句为已存在的表添加。一、三种创建索引的方法方法 1: 使用 `CREATE INDEX` 语句 (最常用)专门用于在已存在的表上创建索引(不能创建主键)。语法:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX <索

PyMySQL数据库的使用

前面我们学习了SQLite数据库的相关内容,我们也通过前面的内容学习到了数据库的相关操作,PyMySQL数据库的操作和前面的内容类似,但我们可以通过Navicat直接来查看数据库中的内容,实现数据可视化,前面我们已经完成了下载安装,本节我们直接进入学习。

MySQL 添加字段操作

基本概念MySQL 数据表由行(记录, Record)和列(字段, Field)构成。随着业务需求变化,可能需要向已有表中添加新字段。添加字段的基本语法ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件];三种添加位置的方式1. 在表末尾添加字段(默认方式)ALTER TABLE st

如何对MySQL子查询进行简单优化?

子查询类似递归函数,虽然代码易于实现,但是执行效率低下。表连接适合看更多表数据,子查询灵活多变,适合作为查询的筛选条件。我们曾在《MySQL子查询》介绍过表连接,它可以被子查询替换,而想要通过表连接替换子查询却不是100%能够实现!下面我将介绍哪些子查询可以转为表连接:在查询优化中,