【MySQL】CRUD,常见函数及union&union

2024-01-08 09:38:38

目录

CRUD

?查询

新增数据

修改数据

删除数据

常见函数

字符函数

?数字函数

?日期函数

流程控制函数

?聚合函数

?union&union all

概念

?应用场景

?语法

思维导图


CRUD

条件查询执行顺序

1.where(条件)

2.group by(分组)

3.having(筛选)

4.order by(排序)

5.limit(记录数)

?查询

查询book表的所有数据
select * from book?
?
查询 book id为1的数据
select * from book where id =1
?
查询id大于6的数据
select * from book ?id>6?

新增数据

新增一条数据
insert into book values(1,1,1,1)
?
新增多条数据
insert into book values
(1,1,1,1),
(1,1,1,1)
?
选择性新增数据?
insert into book set id=1,name=zhangsan,sex='男'
?

修改数据

删除id为1的数据

update book set name=lisi where id=1

删除数据

删除id为1的数据

delete from book where id=1

常见函数

字符函数

  1. strlen() - 返回字符串的长度
  2. strcpy() - 将一个字符串复制到另一个字符串
  3. strcat() - 将一个字符串连接到另一个字符串的末尾
  4. strcmp() - 比较两个字符串是否相同
  5. strchr() - 在字符串中查找指定字符的位置
  6. strstr() - 在字符串中查找指定子串的位置
  7. toupper() - 将字符串中的小写字母转换为大写字母
  8. tolower() - 将字符串中的大写字母转换为小写字母
  9. atoi() - 将字符串转换为整数
  10. atof() - 将字符串转换为浮点数
转小写LOWER('SQL Course')sql course
转大写UPPER('SQL Course')SQL COURSE
拼接CONCAT('Hello','World')HelloWorld
截取SUBSTR('HelloWorld',1,5)Hello
长度LENGTH('HelloWorld')10
字符出现索引值INSTR('HellowWorld')6
字符截取后半段TRIM('H' FROM 'HelloWorld')elloWorld
字符替换REPLACE('abcd','b','m')amcd

?数字函数

  1. abs() - 返回一个整数的绝对值
  2. pow() - 返回一个数的指定次幂
  3. sqrt() - 返回一个数的平方根
  4. round() - 对一个浮点数进行四舍五入
  5. ceil() - 对一个浮点数向上取整
  6. floor() - 对一个浮点数向下取整
  7. fmod() - 返回两个数的浮点数取模运算结果
  8. rand() - 生成一个随机数
  9. srand() - 初始化随机数种子
  10. log() - 返回一个数的自然对数
四舍五入ROUND(45.926,2)45.93
截断TRUNC(45.926,2)45.92
求余MOD(1600,300)100

?日期函数

  1. time() - 返回当前时间的秒数数值
  2. difftime() - 计算两个时间之间的差值(秒数)
  3. mktime() - 将日期和时间转换为秒数数值
  4. localtime() - 将秒数数值转换为本地时间的结构体
  5. strftime() - 格式化输出日期和时间
  6. gmtime() - 将秒数数值转换为格林尼治时间的结构体
  7. asctime() - 将时间结构体转换为字符串表示的时间
  8. ctime() - 将秒数数值转换为字符串表示的时间
获取当前日期now()
将日期格式的字符转换成指定格式的日期STR_TO_DATE('9-13-1999','%m-%d-%Y')1999-09-13
将日期转换成字符DATE_FORMAT('2018/6/6','%Y年%m月%d日')2018年06月06日

流程控制函数

语法:

CASE expr WJEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THEN retutn_expr2

WHEN comparison_expr THEN return_exprm

ELSE else_expr]

END

案列:查询同时存在“01”课程和“02”课程的情况

SELECT t3.*,

(CASE WHEN t1.cid = '01' THEN t1.score END)语文,

(CASE WHEN t2.cid = '02' THEN t2.score END)数学

FROM

(SELECT * FROM t_mysql_score sc WHERE sc.cid = '01')t1,

(SELECT * FROM t_mysql_score sc WHERE sc.cid = '02')t2,

t_mysql_student t3

WHERE

t1.sid = t2.sid

AND t1.sid = t3.sid

?聚合函数

1.sum(求和)

2.avg(平均值)

3.max(最大值)

4.min(最小值)

5.count(计算个数)

?union&union all

概念

UNION:用于合并两个或者多个SELECT语句的结果集,并去除重复的行

UNION ALL:用于合并两个或者多个SELECT语句的结果集,包括重复的行

?应用场景

UNION:当需要合并多个查询结果,并且不希望出现重复时,可以使用UNION操作符

例:合并两个表的数据,不出现重复的记录。

UNION ALL:
当需要合并多个查询的结果,但不需要去除重复的行时,可以使用Union All操作符。
例:合并两个表的数据,出现重复的记录

?语法

UNION

SELECT column_name(s) FROM table1?
UNION?
SELECT column_name(s) FROM table2;

使用UNION时,默认会删除结果集中的重复行。这意味着如果两个SELECT语句产生的结果中有相同的行,那么这些行在最终的结果集中只会出现一次

UNION ALL

SELECT column_name(s) FROM table1 ?
UNION ALL ?
SELECT column_name(s) FROM table2;

使用UNION ALL时,不会删除结果集中的重复行。这意味着如果两个SELECT语句产生的结果中有相同的行,那么这些行在最终的结果集中会全部出现。?

思维导图

?

文章来源:https://blog.csdn.net/m0_74934282/article/details/135396699
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。