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

🔥个人主页: 寻星探路

🎬作者简介:Java研发方向学习者

📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、** 《JAVA(SE)----如此简单!!!》 、《数据库那些事!!!》**

⭐️人生格言:没有人生来就会编程,但我生来倔强!!!


目录

一、内置函数

1、日期函数

1.1示例

2、字符串处理函数

2.1示例(1)显示所有参加考试的学生姓名、姓名字符数和字节长度

3、数学函数

3.1示例

4、其他常用函数

4.1示例

二、CRUD总结

1、新增

2、查询

3、修改

4、删除


续接上一话:

一、内置函数

1、日期函数

1.1示例

(1)获取当前日期

sql 复制代码
select CURDATE();

(2)获取当前时间

sql 复制代码
select CURTIME();

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

sql 复制代码
select NOW();

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

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

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

sql 复制代码
select ADDDATE('2025-09-13', INTERVAL 31 DAY);

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

sql 复制代码
 select SUBDATE('2025-09-13', INTERVAL 1 MONTH);

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

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

2、字符串处理函数

2.1示例

(1)显示所有参加考试的学生姓名、姓名字符数和字节长度

sql 复制代码
select name, char_length(name), length(name) from exam;

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

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

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

sql 复制代码
select CONCAT_WS(',',name,chinese,math,english) 分数 from exam;

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

sql 复制代码
select lcase('ABC');

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

sql 复制代码
select ucase('abc');

(6)转换为十六进制

sql 复制代码
# 字符串
select HEX('Hello MySQL');
sql 复制代码
# 数字
select HEX(15);

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

sql 复制代码
 select instr('Hello MySQL', 'sql');

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

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

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

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

(10)替换字符串

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

(11)比较两个字符串

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

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

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

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

sql 复制代码
select '   ABC', LTRIM('   ABC'), 'ABC   ', RTRIM('ABC   '), '   ABC   ', TRIM('   ABC   ');

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

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

3、数学函数

3.1示例

(1)返回-3.14的绝对值

sql 复制代码
select ABS(-3.14);

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

sql 复制代码
select CEIL(20.36);

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

sql 复制代码
select FLOOR(11.32);

(4)10进制转为16进制

sql 复制代码
select CONV(15, 10, 16);

(5)格式化1234567.654321

sql 复制代码
select FORMAT(1234567.654321, 5);

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

sql 复制代码
select RAND();

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

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

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

sql 复制代码
select CRC32('Hello MySQL');

4、其他常用函数

4.1示例

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

sql 复制代码
select version();

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

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

(3)显示当前用户

sql 复制代码
select user();

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

sql 复制代码
# 对hello world进⾏md5加密
select md5('hello world');

(5)ifnull函数

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

二、CRUD总结

1、新增

sql 复制代码
insert into 表名 values (值,值..);
insert into 表名 (列名, 列名...) values (值,值....);
insert into 表名 values (值,值..),(值,值..),....

2、查询

1)全列查询

sql 复制代码
select *from 表名;

2)指定列查询

sql 复制代码
select 列名 from 表名;

3)表达式查询

sql 复制代码
select 表达式 from 表名;

4)查询指定别名

sql 复制代码
select 表达式 as 别名 from 表名;

5)查询去重

sql 复制代码
select distinct 列名 from 表名;

6)条件查询 [重要]

sql 复制代码
select 列名 from 表名 where 条件;

7)查询的时候排序

sql 复制代码
select 列名 from 表名 order by 列名;

8)分页查询

sql 复制代码
select 列名 from 表名 limit 条件;

3、修改

sql 复制代码
update 表名 set 列名 = 值 where 条件 order by 列名 limit...

4、删除

sql 复制代码
delete from 表名 where 条件 order by 列名 limit...
相关推荐
你是狒狒吗2 小时前
为什么mysql要有主从复制,主库,从库这种东西
数据库·mysql
倔强的石头1065 小时前
【金仓数据库】ksql 指南(一) 连接本地 KingbaseES 数据库与基础交互
数据库·oracle·kingbasees·金仓数据库·ksql
卷Java9 小时前
违规通知功能修改说明
java·数据库·微信小程序·uni-app
养生技术人10 小时前
Oracle OCP认证考试题目详解082系列第54题
数据库·sql·oracle·运维开发·database·开闭原则·ocp
数据知道11 小时前
Go基础:用Go语言操作MongoDB详解
服务器·开发语言·数据库·后端·mongodb·golang·go语言
爱喝白开水a11 小时前
2025时序数据库选型,从架构基因到AI赋能来解析
开发语言·数据库·人工智能·架构·langchain·transformer·时序数据库
羊锦磊11 小时前
[ Redis ] 数据结构储存系统
数据库·redis·缓存
m0_7415853512 小时前
网站框架
数据库
编程充电站pro13 小时前
SQL 子查询与多表 JOIN 用法大全(速查版)
数据库·sql