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

发布时间:2024年01月03日

目录

一 CRUD

查询

新增数据

修改数据

删除数据

二 常见函数

① 字符函数

② 数字函数

③ 日期函数

④ 流程控制函数

⑤ 聚合函数

三 union&union

含义

语法


一 CRUD

条件查询执行顺序:where(条件)? group by(分组) having(筛选)?order by(排序)? ?limit(记录数)

查询

查询t_book表的所有数据
select * from t_book?

查询t_book id为1的数据
select * from t_book where id =1

查询id大于6的数据
select * from t_book  id>6 


新增数据

新增一条数据

insert into t_book values(1,1,1,1)

新增多条数据
insert into t_book values
(1,1,1,1),
(1,1,1,1)


选择性新增数据 
insert into t_book set id=1,name=zhangsan,sex='男'

修改数据

修改id为1的name值

update t_book set name=lisi where id=1

删除数据

删除id为1的数据

delete from t_book where id=1

二 常见函数

① 字符函数

转小写:? LOWER('NIHAO')? > nihao

?

转大写:? ? ?UPPER('nihao')? > NIHAO?? ?

拼接:? ? ? ?CONCAT('Hello','World')? ?>? HelloWorld

截取:? ?SUBSTR('HelloWorld',1,5)? ?>? Hello

长度:? ? LENGTH('HelloWorld')? ? ?>? 10

字符出现索引值 :? ? ?INSTR('HelloWorld','o')? ? >? 5?

字符截取后半段:? TRIM('M'FROM'HelloWorld')? > elloWorld

字符替换:? REPLACE('abcd','b','m')? ?> amcd

② 数字函数

四舍五入:? ?ROUND(45.926,2)? >? 45.93

截取:? TRUNC(45.926,2)? > 45.92

求余: MOD(1600,300)? ?> 100

③ 日期函数

获取当前日期? ?>? now()

将日期格式字符转成指定格式的日期? ?

STR_TO_DATE('9-13-1999','%m-%d-%Y') >1999-9-13

将日期转换成字符? ?

?DATE_FORMAT(‘2024/1/3’,‘%Y年%m月%d日’)? >? 2024年01月03日

④ 流程控制函数

CASE expr WHEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THEN return_expr2

WHEN comparison_exprn THEN return_exprn

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.id='01')t1,

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

t_mysql_student t3

WHERE

t1.sid=t2.sid

AND t1.sid =t3.sid

⑤ 聚合函数

① sum求和

② avg平均值

③ max最大值

④ min最小值

⑤ count计算

三 union&union

含义

Union用于对多个查询结果进行并集操作,不包括重复行,相当于Distinct,同时进行默认规则的排序;

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_73192864/article/details/135372830
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。