MYSQL牛客网重点知识点总结

目录

前言:

1.创建临时表 (with  表名 as )

1.1创建临时表的用法详解 

1.2创建临时表的语法 

1.3具体应用案例

1.4总结 

2.concat函数

2.1concat函数用法详解

2.2concat函数语法 

2.3具体应用案例

2.4总结 

3.GROUP_CONCAT函数 

3.1GROUP_CONCAT函数用法详解

3.2GROUP_CONCAT函数的语法

3.3具体应用案例

3.4总结

4.case when then end 

4.1 case when then end 用法详解 

4.2case when then end 语法 

4.3 具体应用案例

4.4总结

5.date_format()函数

5.1date_foamat()用法详解 

5.2date_format()函数语法

5.3具体实例用法

5.4总结

致谢:


前言:

SQL(Structured Query Language)是用于管理关系型数据库的标准化语言。无论是存储、检索、更新还是删除数据,SQL 都扮演着至关重要的角色。熟练掌握 SQL 是每个与数据库相关的专业人士必备的技能之一。本博客旨在总结 SQL 的重要知识点,帮助读者系统地学习和理解 SQL,提升数据库操作和管理的能力。
 


1.创建临时表 (with  表名 as )
 

1.1创建临时表的用法详解 

 当我们在做数据库查询的时候我们有时候会连接很多表 这样在操作上的很繁杂,并且不美观。

在 MySQL 中,临时表是一种临时存储数据的方式,它只在当前的数据库会话中存在,并在会话结束后自动消失。

这时候我们就可以用临时表,可以节省资源,避免浪费不必要的资源。

1.2创建临时表的语法 

下面是一个示例,演示了如何在 MySQL 中使用 WITHAS 来定义一个临时表:
 

with tmp as
(
select uid, id
from
tb_user
where name="李华"
)

这段sql语句将tb_user表中的name为李华的uid,和id筛选出来
 

1.3具体应用案例

下面是一个示例,演示如何使用 WITHAS 创建临时表进行多表连接查询:
 

WITH orders_customer AS (
    SELECT orders.order_id, orders.order_date, customers.customer_name
    FROM orders
    JOIN customers ON orders.customer_id = customers.customer_id
)
SELECT *
FROM orders_customer;

在上述示例中,我们使用 WITHAS 创建了一个临时表达式 customer_orders,该表达式包含了连接 orders 表和 customers 表后得到的数据。然后在主查询中选择了这个临时表达式中的所有列进行查询。
 


1.4总结 

通过使用 WITHAS 结合,我们可以避免重复编写相同的子查询,使 SQL 查询更加清晰和易于理解。这种方法特别适用于需要多次引用同一组数据的情况,同时也有助于提高查询的可读性和维护性。


2.concat函数
 

2.1concat函数用法详解

concat函数是一个拼接字符串的函数 ,有时候我们在实际应用中需要用到此函数将几个字段进行拼接。
例如我们需要将一个表中的名字和电话号的字段进行拼接作为一个新的字段。

2.2concat函数语法 

concat(str1,str2,...)
将两个字符串进行拼接 。
 

2.3具体应用案例
concat('hello',' ','world')

会输出 hello  world 

2.4总结 

通过合理使用 CONCAT 函数,可以方便地将字符串连接在一起,用于生成自定义输出、构建动态查询等操作。
 



3.GROUP_CONCAT函数 

3.1GROUP_CONCAT函数用法详解

功能:将分组内的数值字段值连接成一个字符串。
 

3.2GROUP_CONCAT函数的语法

语法GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str

参数

DISTINCT: 可选参数,用于去除重复的值。

expr: 要连接的字段或表达式。

ORDER BY: 可选参数,用于指定连接时的排序规则。

SEPARATOR: 可选参数,用于指定连接时的分隔符,默认为逗号,。



3.3具体应用案例

SELECT department, GROUP_CONCAT(employee_name)
FROM employees
GROUP BY department;

此案例是将每个部门内的员工名字连接成一个字符串


3.4总结


将分组内的数值字段值连接成一个字符串。
用于在 SQL 查询中将多行的值合并为单个字符串。
通过合理使用 GROUP_CONCAT 函数,可以方便地将分组内的值连接成字符串,用于生成聚合的文本信息。这样的操作常用于生成报表、显示汇总信息或处理某些特定的业务场景。
 


4.case when then end 

4.1 case when then end 用法详解 


case when then end 一般用在多种条件的查询。它允许在查询中根据不同的条件执行不同的操作或返回不同的值。


4.2case when then end 语法 
 
case 

when 条件 then 执行语句 
when 条件 then 执行语句 
...
end  as "字段名"

--end as  '字段名' 将这段case when then 语句 作为一个字段名 

4.3 具体应用案例
 
select age,uid,
case 
when age>18 then '已成年',
when age>22 then '青年',
when age>25 then '青壮年'
end as '年龄阶段'
from tmp 

根据不同的年龄范围返回相应的年龄阶段,并从名为 tmp 的表中选择 ageuid 字段。
 

4.4总结


CASE WHEN THEN END 是在 SQL 中用于条件判断和返回结果的表达式。
通过合理运用 CASE WHEN THEN END 表达式,你可以根据需要灵活地处理数据并返回不同的结果。
 


5.date_format()函数


5.1date_foamat()用法详解 


DATE_FORMAT() 是 MySQL 中用于将日期时间格式化为指定格式的函数。
 


5.2date_format()函数语法
 
DATE_FORMAT(date, format)
date 是要格式化的日期或日期时间字段。
format 是指定日期时间格式的格式字符串。

常用格式符号
%Y:四位年份
%m:月份(01-12)
%d:月中的天数(01-31)
%H:小时(00-23)
%i:分钟(00-59)
%s:秒(00-59)
%W:星期名(完整的星期名称)
%w:星期几(0 = 星期日,1 = 星期一,...,6 = 星期六)


5.3具体实例用法
 
SELECT DATE_FORMAT('2024-03-03 10:30:45', '%Y-%m-%d %H:%i:%s') AS formatted_datetime;

 以上查询将会将日期时间 '2024-03-03 10:30:45' 格式化为 '2024-03-03 10:30:45' 的格式。

 

5.4总结

 


可以根据需要自定义日期时间格式,并使用相应的格式符号来构建想要的格式。
DATE_FORMAT() 函数通常用于从数据库中检索日期时间字段并以特定格式显示。
通过使用 DATE_FORMAT() 函数,你可以按照自己的需求将日期时间数据格式化为不同的形式,使其更易于阅读和展示。


致谢:
 

非常感谢您对博客的关注和喜爱!在这里,我您表示衷心的感谢,并且对您的支持和信任表示深深的感激。您的支持是我们不断努力提供有价值内容的动力,同时也是我们持续改进和成长的重要推动力。

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值