MySQL

MySQL存储引擎选择指南

主要存储引擎特性对比特性MyISAMInnoDBMEMORY存储限制有支持有事务安全不支持支持不支持锁机制表锁行锁表锁B树索引支持支持支持哈希索引不支持不支持支持全文索引支持不支持不支持集群索引不支持支持不支持数据缓存-支持支持索引缓存支持支持支持数据可压缩支持不支持不支持空间使用低高N/A内存使用低高中等批量插入速度高低高支持外键不支持支持不支持各存储引擎适用场景&nbs

MySQL删除数据库

删除数据库的基本命令DROP DATABASE [IF EXISTS] <数据库名>使用说明数据库名:要删除的数据库名称IF EXISTS:可选参数,如果数据库不存在也不会报错需要DROP权限才能执行这个操作超级重要:删除后所有数据都会消失,无法恢复!实际操作例子1. 先创建一个测试数据库:CREATE DATAB

MySQL bit_count() 函数:二进制数1

在MySQL中,bit_count(n) 函数用于计算整数的二进制表示中1的个数,即返回整数的二进制表示中设置为1的比特位数量。其语法格式如下:bit_count(n)--返回整数二进制中1的个数bit_count()函数是一个位函数,用于计算整数的二进制表示中比特位为1的数量。值得注意的是,bit_count()函数接受整数参数,返回该整数二进制表示中1的个数;如果输入为NULL,则

MySQL8.0+ dense_rank() 函数:行排名

在MySQL中,dense_rank() 函数用于为结果集中的行分配密集排名,即返回每行在分区内的密集排名。其语法格式如下:dense_rank()over(partitionbyexprorderbyexpr)--返回行的密集排名dense_rank()函数是一个窗口函数,用于为结果集中的每一行分配密

MySQL unix_timestamp() 函数:获取UNIX时间戳

在MySQL中,unix_timestamp() 函数用于获取UNIX时间戳,即返回从1970-01-01 00:00:00 UTC到现在的秒数。其语法格式如下:unix_timestamp()--返回当前UNIX时间戳unix_timestamp()函数不需要任何参数,直接返回当前的UNIX时间戳值。下面,我们将使用unix_timestamp()函数获取UNIX时间戳:select

MySQL insert() 函数:插入/替换指定位置的子串

在MySQL中,insert(str, pos, len, newstr) 函数用于替换字符串的指定部分,即从字符串str的位置pos开始,长度为len的子串替换为newstr。其语法格式如下:insert(str,pos,len,newstr)--返回替换后的字符串insert()函数根据参数对字符串进行替换操作:原字符串str,起始位置pos,替

MySQL 创建索引

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

MySQL 别名(AS)使用详解

表别名基本语法<表名> [AS] <别名>AS 关键字可以省略别名只在当前查询中有效使用场景1. 简化长表名:SELECTo.order_id,o.order_dateFROMcustomer_orders

MySQL慢查询日志

慢查询日志是 MySQL 中最核心的性能诊断工具,用于记录执行时间超过指定阈值的 SQL 语句,帮助开发者和 DBA 定位性能瓶颈。一、查看慢查询日志状态在优化之前,首先检查当前慢查询日志的配置状态。查看慢查询日志是否开启及日志文件位置SHOWVARIABLESLIKE'slow_query_log%';查看慢

如何对默认字符集和校对规则进行修改?

MySQL 具备显著的字符集灵活性,区别于 Oracle 等多数数据库管理系统通常仅支持统一字符集的限制,其可在同一服务器、数据库、甚至同一张表的不同字段中配置不同字符集。同时,MySQL 的字符集与校对规则支持服务器、数据库、表、字段四个层级的默认设置,各层级设置位置不同,分别作用于对应范围的字符存储与比较逻辑。如何查看服务器字符集和校对规则:输入:SHOWVARIABLES&nbs