首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据库造神计划第九天---增删改查(CRUD)(5)

数据库造神计划第九天---增删改查(CRUD)(5)

作者头像
寻星探路
发布2025-12-17 19:11:11
发布2025-12-17 19:11:11
1180
举报
文章被收录于专栏:CSDN博客CSDN博客

一、内置函数

1、日期函数

1.1示例

(1)获取当前日期

代码语言:javascript
复制
select CURDATE();

(2)获取当前时间

代码语言:javascript
复制
select CURTIME();

(3)获取当前日期和时间

代码语言:javascript
复制
select NOW();

(4)提取指定datatime的日期部分

代码语言:javascript
复制
select date('2025-09-13 21:57:19');

(5)在给定日期的基础上加31天

代码语言:javascript
复制
select ADDDATE('2025-09-13', INTERVAL 31 DAY);

(6)在给定日期的基础上减去1月

代码语言:javascript
复制
 select SUBDATE('2025-09-13', INTERVAL 1 MONTH);

(7)计算两个日期之间相差多少天

代码语言:javascript
复制
# 在计算时只使⽤⽇期部分
SELECT DATEDIFF('2024-12-31 23:59:59','2024-12-30');
代码语言:javascript
复制
# 表达式1表⽰的⽇期早于表达式2表⽰的⽇期时返回负数
SELECT DATEDIFF('2024-11-30 23:59:59','2024-12-31');

2、字符串处理函数

2.1示例 (1)显示所有参加考试的学生姓名、姓名字符数和字节长度
代码语言:javascript
复制
select name, char_length(name), length(name) from exam;

(2)显示学生的考试成绩,格式为"XXX的语文成绩:XXX分,数学成绩:XXX分,英语成绩:XXX分"

代码语言:javascript
复制
select concat(name, '的语⽂成绩:', chinese, '分,数学成绩:', math, '分,英语成绩:', english, '分') as 分数 from exam;

(3)拼接后的字符串用逗号隔开

代码语言:javascript
复制
select CONCAT_WS(',',name,chinese,math,english) 分数 from exam;

(4)将给定字符串转换成小写

代码语言:javascript
复制
select lcase('ABC');

(5)将给定字符串转换成大写

代码语言:javascript
复制
select ucase('abc');

(6)转换为十六进制

代码语言:javascript
复制
# 字符串
select HEX('Hello MySQL');
代码语言:javascript
复制
# 数字
select HEX(15);

(7)子字符串第⼀次出现的索引

代码语言:javascript
复制
 select instr('Hello MySQL', 'sql');

(8)指定位置插入子字符串

代码语言:javascript
复制
# 在指定位置插⼊
select insert('Hello, Database', 8, 0, 'MySQL ');
代码语言:javascript
复制
# 覆盖20位,如果从写⼊点往后不⾜20位相当于删除后⾯所有字符
select insert('Hello, Database', 8, 20, 'MySQL');

(9)返回指定的子字符串

代码语言:javascript
复制
# 从'Hello, MySQL'的第⼋个字符开始截取
select SUBSTR('Hello, MySQL', 8);
代码语言:javascript
复制
# 从'Hello, MySQL'的第⼋个字符开始截取1个字符
select SUBSTR('Hello, MySQL' FROM 8 FOR 1);
代码语言:javascript
复制
# 从'Hello, MySQL'的第⼋个字符开始截取10个字符,不⾜10个读到整个字符串结尾
select SUBSTR('Hello, MySQL' FROM 8 FOR 10);

(10)替换字符串

代码语言:javascript
复制
# 把Database替换成MySQL, 区分⼤⼩写
select REPLACE('Hello Database', 'Database', 'MySQL');

(11)比较两个字符串

代码语言:javascript
复制
 # 观察返回的结果
select STRCMP('text', 'text1');
代码语言:javascript
复制
select STRCMP('text', 'text');
代码语言:javascript
复制
select STRCMP('text1', 'text');

(12)返回字符串str中最左/最右边的len个字符

代码语言:javascript
复制
# 最左边的5个字符
select LEFT('Hello MySQL', 5);
代码语言:javascript
复制
 # 最右边的5个字符
 select RIGHT('Hello MySQL', 5);

(13)删除给定字符串的前导、末尾、前导和末尾的空格

代码语言:javascript
复制
select '   ABC', LTRIM('   ABC'), 'ABC   ', RTRIM('ABC   '), '   ABC   ', TRIM('   ABC   ');

(14)删除给定符串的前导、末尾或前导和末尾的指定字符串

代码语言:javascript
复制
# 删除前后指定的字符串,BOTH可以省略
select TRIM(BOTH 'xxx' FROM 'xxxABCxxx');
代码语言:javascript
复制
# 删除前导的指定字符串
select TRIM(LEADING 'xxx' FROM 'xxxABCxxx');
代码语言:javascript
复制
# 删除末尾的指定字符串
select TRIM(TRAILING 'xxx' FROM 'xxxABCxxx');

3、数学函数

3.1示例

(1)返回-3.14的绝对值

代码语言:javascript
复制
select ABS(-3.14);

(2)返回不小于20.36的最小整数值

代码语言:javascript
复制
select CEIL(20.36);

(3)返回不大于11.32的最小整数值

代码语言:javascript
复制
select FLOOR(11.32);

(4)10进制转为16进制

代码语言:javascript
复制
select CONV(15, 10, 16);

(5)格式化1234567.654321

代码语言:javascript
复制
select FORMAT(1234567.654321, 5);

(6)返回⼀个随机浮点值

代码语言:javascript
复制
select RAND();

(7)舍弃到小数点后6位

代码语言:javascript
复制
select ROUND(RAND(), 6);
代码语言:javascript
复制
# ⽣成⼀个6位数的随机数
select ROUND(RAND(), 6) * 1000000;

(8)字符串的循环冗余校验

代码语言:javascript
复制
select CRC32('Hello MySQL');

4、其他常用函数

4.1示例

(1)显示当前数据库版本

代码语言:javascript
复制
select version();

(2)显示当前正在使用的数据库

代码语言:javascript
复制
# 没有选择数据库时
select database();
代码语言:javascript
复制
# 选择数据库
use java01
# 选择数据库后
select database();

(3)显示当前用户

代码语言:javascript
复制
select user();

(4)对⼀个字符串进行md5加密

代码语言:javascript
复制
# 对hello world进⾏md5加密
select md5('hello world');

(5)ifnull函数

代码语言:javascript
复制
# 第⼀个参数不为NULL,返回第⼀个参数的值
select ifnull('database', 'MySQL');
代码语言:javascript
复制
# 第⼀个参数为NULL, 返回第⼆个参数的值
select ifnull(NULL, 'MySQL');

二、CRUD总结

1、新增

代码语言:javascript
复制
insert into 表名 values (值,值..);
insert into 表名 (列名, 列名...) values (值,值....);
insert into 表名 values (值,值..),(值,值..),….

2、查询

1)全列查询

代码语言:javascript
复制
select *from 表名;

2)指定列查询

代码语言:javascript
复制
select 列名 from 表名;

3)表达式查询

代码语言:javascript
复制
select 表达式 from 表名;

4)查询指定别名

代码语言:javascript
复制
select 表达式 as 别名 from 表名;

5)查询去重

代码语言:javascript
复制
select distinct 列名 from 表名;

6)条件查询 [重要]

代码语言:javascript
复制
select 列名 from 表名 where 条件;

7)查询的时候排序

代码语言:javascript
复制
select 列名 from 表名 order by 列名;

8)分页查询

代码语言:javascript
复制
select 列名 from 表名 limit 条件;

3、修改

代码语言:javascript
复制
update 表名 set 列名 = 值 where 条件 order by 列名 limit...

4、删除

代码语言:javascript
复制
delete from 表名 where 条件 order by 列名 limit...
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、内置函数
    • 1、日期函数
      • 1.1示例
    • 2、字符串处理函数
      • 2.1示例 (1)显示所有参加考试的学生姓名、姓名字符数和字节长度
    • 3、数学函数
      • 3.1示例
    • 4、其他常用函数
      • 4.1示例
  • 二、CRUD总结
    • 1、新增
    • 2、查询
    • 3、修改
    • 4、删除
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档