随笔分类 - MySQL
MySQL 中 FIELD() 自定义排序
摘要:在 MySQL 中,你可以使用 ORDER BY FIELD() 来自定义排序顺序。这个函数允许你指定字段的自定义排序顺序,而不是默认的升序或降序排序。以下是一个简单的例子: 假设你有一个表格叫做 products,其中有一个字段叫做 category,你想按照特定的类别顺序进行排序,比如 'Ele
MySQL 中 GROUP_CONCAT() 用法
摘要:GROUP_CONCAT 是一种 SQL 聚合函数,用于将组内的多个值连接成一个字符串,并以指定的分隔符分隔这些值。在 MySQL 中,GROUP_CONCAT 可以用于将多个行的值合并成一个字符串,并返回该字符串。 以下是 GROUP_CONCAT 的基本语法: SELECT column1, G
MySQL 中模糊匹配
摘要:一、like模糊匹配-单项 常用通配符有两个: '%'百分号、'_'下划线。 %: 可以匹配0~多个字符 _: 只能匹配1个字符 select id, device_id, university from user_profile where (university like '北京%' or un
MySQL 中 CONCAT() 和 CONCAT_WS() 用法
摘要:CONCAT 和 CONCAT_WS 都是 MySQL 中用于字符串连接的函数,但它们之间有一些区别: CONCAT 函数: CONCAT 函数用于连接两个或多个字符串。 它接受任意数量的参数,将它们连接在一起并返回结果。 如果其中有一个参数为 NULL,则返回的结果也为 NULL。 例如: SEL
MySQL 统计一个月有多少天
摘要:在 MySQL 中,您可以使用以下查询来统计一个月有多少天: SELECT DAY(LAST_DAY('2024-03-01')) AS days_in_month; 在这个查询中,LAST_DAY('2024-03-01') 会返回给定日期('2024-03-01')所在月份的最后一天的日期。然后
MySQL 中 LENGTH() 和 CHAR_LENGTH()用法
摘要:在 MySQL 中,LENGTH() 和 CHAR_LENGTH() 函数都用于获取字符串的长度,但它们有一些重要的区别。 LENGTH() 函数返回字符串的字节数(即存储在数据库中的实际字节数),而不是字符数。这意味着对于使用多字节字符集(如 UTF-8)存储的数据,LENGTH() 函数返回的值
MySQL 插入数据
摘要:在 MySQL 中,可以使用多种方式进行数据插入操作。以下是常见的几种方式: 单行插入:使用 INSERT INTO ... VALUES ... 语句插入单行数据。 INSERT INTO table_name (column1, column2, column3, ...) VALUES (va
MySQL 中 WITH ROLLUP 用法
摘要:WITH ROLLUP 是 MySQL8 中用于生成汇总行的一种扩展语法。它通常与 GROUP BY 子句一起使用,用于在查询结果中添加总计或分组小计。 当你在查询中使用 WITH ROLLUP 时,数据库会根据 GROUP BY 子句中指定的列生成汇总行,以显示每个分组的合计值。这使得你可以在单个
MySQL 插入数据忽略已存在数据
摘要:MySQL的INSERT IGNORE INTO语句用于向表中插入数据,如果数据已经存在,则忽略插入操作而不报错。以下是INSERT IGNORE INTO语句的基本语法: INSERT IGNORE INTO table_name (column1, column2, ...) VALUES (v
MySQL 中 INSTR() 用法
摘要:在 MySQL 中,INSTR() 函数用于查找一个字符串中是否包含另一个指定的子串,并返回该子串在原始字符串中第一次出现的位置。 以下是 INSTR() 函数的语法: INSTR(str, substr) 其中,str 是要搜索的目标字符串;substr 是要查找的子字符串。如果 str 包含 s
MySQL 中 SUBSTRING_INDEX()用法
摘要:SUBSTRING_INDEX() 函数用于从一个指定分隔符分隔的字符串中提取子串。它返回一个字符串,包含在原始字符串中出现在指定分隔符之前或之后的所有字符。 以下是 SUBSTRING_INDEX() 函数的语法: SUBSTRING_INDEX(str, delim, count) 其中,str
MySQL 中 EXISTS 关键字用法
摘要:在 MySQL 中,EXISTS 是一个用于检查子查询是否返回结果的逻辑运算符。它通常与主查询的 WHERE 子句一起使用。 EXISTS 的语法如下: SELECT column_name(s) FROM table_name WHERE EXISTS (subquery); 在上述语法中,col
MySQL 中 DATE_ADD()用法
摘要:在 MySQL 中,你可以使用 DATE_ADD 函数来获取后一天的日期。具体用法如下: SELECT DATE_ADD(DATE(NOW()), INTERVAL 1 DAY) AS next_day; 上述语句中,NOW() 函数用于获取当前日期和时间,然后使用 DATE() 函数将其转换为日期
MySQL 中 DATE_FORMAT()用法
摘要:DATE_FORMAT() 是一个 MySQL 函数,用于将日期类型的值格式化为字符串。它接受两个参数:日期值和格式字符串。格式字符串是一个包含占位符的字符串,其中每个占位符表示日期中的不同部分(如年、月、日、小时、分钟、秒等)。 下面是一些常见的占位符: %Y:4 位数的年份(例如:2022) %
MySQL 中 DATEDIFF()用法
摘要:DATEDIFF 函数用于计算两个日期之间的差值,并以天数返回结果。它的语法如下: DATEDIFF(end_date, start_date) 其中,end_date 和 start_date 是要计算差值的结束日期和起始日期。 以下是一个示例,计算两个日期之间的天数差值: SELECT DATE
MySQL 中 DATE_SUB()用法
摘要:要获取今天到30天前的日期,可以使用 MySQL 内置函数 DATE_SUB 和 CURDATE。DATE_SUB 函数用于从一个日期或时间中减去指定的时间间隔,CURDATE 函数用于获取当前日期。 例如,以下 SQL 语句将返回今天到 30 天前的日期范围: SELECT DATE_SUB(CU
MySQL 中 TIMESTAMPDIFF()用法
摘要:在 MySQL 中,TIMESTAMPDIFF 函数用于计算两个日期或时间之间的差值,并以指定的单位返回结果。对于给定的单位,可以计算年、月、日、小时、分钟、秒等之间的差值。 TIMESTAMPDIFF 函数的语法如下: TIMESTAMPDIFF(unit, start_time, end_tim
MySQL 中 SUBSTRING()用法
摘要:在 MySQL 中,SUBSTRING 函数用于提取字符串的子串。其语法为: SUBSTRING(str, pos, len) 其中,str 是要提取子串的源字符串,pos 表示子串的起始位置(从 1 开始计数),len 表示要提取的子串的长度。 例如,假设有一个字符串 'Hello, world!
MySQL 中 LIMIT和 OFFSET关键字
摘要:在 MySQL 中,可以使用 LIMIT 和 OFFSET 子句来控制 SELECT 查询返回的行数和起始位置。下面是它们的基本用法: SELECT * FROM your_table LIMIT 10; -- 返回前10行数据 SELECT * FROM your_table LIMIT 10 O
MySQL 重置自增主键顺序
摘要:有时候会遇到数据删除主键断了的情况,下面的命令可以重新排序主键 set @rownum = 0; update table set IncreaseId= @rownum := @rownum+1;