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

目录

一 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语句产生的结果中有相同的行,那么这些行在最终的结果集中会全部出现。

 

你可能感兴趣的:(mysql,数据库)