期末mysql复习枯燥,乏味.一文带你轻松击破mysql壁垒.

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 期末mysql复习枯燥,乏味.一文带你轻松击破mysql壁垒.

#如何系统学习一门it技术#

🎬 博客主页:博主链接

🎥 本文由 M malloc 原创,首发于 CSDN🙉

🎄 学习专栏推荐:LeetCode刷题集!

🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📆 未来很长,值得我们全力奔赴更美好的生活✨

------------------❤️分割线❤️-------------------------

————————————————

a6c0473e16e249c2b9ca02e5b793f35e.gif

😧关于sql_server的基础知识

😁大家好呀,今天是我第三次写sql_server,也是最近才学习sql_server,也想着记录一下自己的学习过程,并且分享给大家尼!

😧 一、sql_server技术介绍

SQL Server 是由微软公司(Microsoft)开发的关系型数(RDBMS)。RDBMS 是 SQL 以及所有现代数据库系统的基础,比如 MS SQL Server,IBM DB2,Oracle,MySQL 以及微软的 Microsoft Access。

😧二、学习前的准备工作

编程软件:SQL Server Management Studio 2012

带好你的小板凳,我们一起扬帆起航!

440c2ef9bcab45e89933ff0c1f364bb6.png

😧sql_server查询篇

😧三、查询的基本操作

在日常过程中,我们会遇到很多需要查询的数据信息,这个时候,我们就可以运用sql_server中的查询语句。

😧3.1基础查询

1.查询数据库中的所有列,所有行:

select * from department

select * from s_rank

select * from People


执行上述代码之后,如下图所示就是数据库中的所有数据啦!

9e46410cd3584916b5038a1a37e903b6.png2.查询指定列(姓名,性别,生日,月薪,电话):

select PeopleName,PeopleSex,PeopleBirth,PeopleSalary,PeoplePhone from People

5b8b0fbc167143d7803e9b9f5acf1a35.png

如上图所示就是数据库中的查询指定列的操作啦

3.查询指定列(姓名,性别,生日,月薪,电话)(显示一个中文的列名)

select PeopleName 姓名,PeopleSex 性别,PeopleBirth 生日,PeopleSalary 月薪,PeoplePhone 电话 from People

我们只需要在对应的字段后面加一个空格,然后输入我们想命名的标题就好啦!如下如所示

cd2249c9c2ad467f91d7b79395b3edf7.png

4.查询出员工所在的城市(不需要重复数据显示)

select distinct(PeopleAddress) from People

在数据库中有个关键字是distinct,代表中去重的意思,当我们没带这个关键字的时候,我们显示到的数据是这样的

select PeopleAddress from People

550abbd5d7f74e189f79d2fd3c87b20b.png

我们会发现此时的数据中出现了两个荆州,但是我们不想要它重复出现相同的数据,那我们该怎么办呢?这时候就应该运用到***distinct***这个关键字啦!

select distinct(PeopleAddress) from People

dd6c0fc2c5c54c8fb1bb6e74a3afa80e.png

我们此时就会发现不会重复的出现荆州了啦!

5.假设准备加工资(上调百分之二十),查询出加工资后的员工数据

select PeopleName,PeopleSex,PeopleSalary * 1.2 加薪后的工资 from People

06e17a2cdf814af498c75cf89af7d07f.png

6.假设准备加工资(上调百分之二十),查询出加工资前和加工资后的员工数据

select PeopleName,PeopleSex,PeopleSalary, PeopleSalary * 1.2 加薪后的工资 from People

bf949fdf72bd4dec97d8d4e330a64904.png

😧3.2条件查询(where)

在查询的过程中,我们会只想查询我们想要知道的数据,也就类似于进行筛选的操作,在这个过程中,我们就可以不用在再很大一批的数据中进行数据的查找啦!

1.查询性别为女的员工信息:

select * from People where PeopleSex = '女'

ee72c9c10c2a450fa3e1c8c3d7654454.png

2.查询工资大于等于10000元的员工信息:

select * from People where PeopleSalary >= 10000

033b4c340fa742fbb73738925952d9c1.png

3.查询出性别为女,工资大于等于10000元的员工信息

select * from People where PeopleSex = '女' 
  and PeopleSalary >= 10000

4.查询出月薪大于等于10000的员工或者月薪大于等于8000的女员工

select * from People where PeopleSalary >= 10000 or 
(PeopleSalary >= 8000 and PeopleSex = '女')

90d792da33bd4751a40bc344121139a7.png

5.查询出生年月在1980-1-1之后,而且月薪大于等于10000的女员工

select * from People where PeopleBirth >= 1980-1-1 or 
  (PeopleSalary >= 8000 and PeopleSex = '女')

108f06a56c6749a0b9e7f82959f56b9f.png

6.查询月薪在10000-20000之间的员工信息

select * from People where PeopleSalary >= 10000 and PeopleSalary <= 20000
select * from People where PeopleSalary between 10000 and 20000

这一个查询用到了两种方法,一种是用and连接,and就相当于是要都满足两者的条件的选择,第二钟方法就是利用between and进行连接,二者选其一就行啦!

6993b9f486f346fa91156bf6f7961ddb.png

7.查询出地址在武汉或者北京的员工

select * from People where PeopleAddress = '武汉' or PeopleAddress = '北京'
select * from People where PeopleAddress in ('武汉','北京','上海')

这里也是运用了两种方法,或者就是满足其一就可以啦,还有一种就是用in(’’)里面放你想要的内容就行啦!

b33b6773e04f4341b4c79b044ffa08d8.png

😧3.3排序(order by)

排序语法:

select * from 列名 order by 表名 asc

我们还看到其中还有asc,那么这个asc是啥呢?他其实是代表着升序的意思啦。那么既然有升序,是不是也还会有降序呢?没错降序就是desc,好啦我们来进入例题的讲解吧!

1.查询所有的员工信息,根据工资排序,降序

select * from People order by PeopleSalary desc

4c3859379ef1475fb3708fd0f3b587fb.png

2.查询所有员工的信息,根据名字的长度排序(降序)

select * from People order by len(PeopleName) desc

251ee25090c54cbb8ec3b36fbb705bbe.png3.查询出工资最高的5个人的信息

select top 5 * from People order by PeopleSalary desc

b1bf6259d51a468da433a763ddadbb04.png

4.查询出工资最高的百分之十的员工信息

select top 10 percent * from People order by PeopleSalary desc

8934bc9c772f41ffa85bbe587a6928e6.png

5.插入一个地址为空的信息

insert into People(DepartmentId,RankId,PeopleName,PeopleSex,PeopleBirth,PeoPleSalary,PeoplePhone,PeopleAddtime) 
values(1,1,'码云','男','1977-7-7','50000','13531511531',getdate())

6.查询出地址没有填写的员工信息

select * from People where PeopleAddress is null

17807bdb643d41199f8157e04212d319.png

7.查询出地址填写的员工信息

select * from People where PeopleAddress is not null

9c15cdab3856407e9b818bd1f14e9f4c.png

😧3.4运用到些许函数进行查询

1查询出80后的员工信息

有以下三种方法:

select * from People where PeopleBirth >= '1980-1-1'
  and PeopleBirth <= '1989-12-31'
select * from People where PeopleBirth between '1980-1-1'
  and '1989-12-31'
select * from People where year(PeopleBirth) between 1980 and 1989

5a41fdf120af4630a2cd41c43509067e.png

2查询三十到四十岁之间,并且工资到15000-30000工资之间的员工信息

假设年龄等于当前年份-生日年份.

select * from People where 
  (year(getdate()) - year(PeopleBirth) >= 30 and year(getdate()) - year(PeopleBirth) <= 40)
    and (PeopleSalary >= 15000 and PeopleSalary <= 30000)

7574ab0eb25049308236d66eddfe5302.png

3.查询出星座是巨蟹座的员工信息(6-22,7-22)

select * from People 
  where (month(PeopleBirth) = 6 and day(PeopleBirth) >= 22)
    or (month(PeopleBirth) = 7 and day(PeopleBirth) <= 22)

08521eeff5e04d47b74476189b3c3fd0.png

4.查询出工资比关羽高的信息的信息(这里就运用到了子查询)

select * from People where PeopleSalary > 
(select PeopleSalary from People where PeopleName = '关羽')

3cfbc00c08d340e2bdae674411d0be31.png

5.查询出和关羽在一个城市的的信息的信息

select * from People where PeopleAddress = 
(select PeopleAddress from People where PeopleName = '关羽') 

fd359bb5341944ccb248de753eeb60c1.png

6.–查询出生肖是鼠的人员信息

–鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪

–4 5 6 7 8 9 10 11 0 1 2 3

select * from People where year(PeopleBirth) % 12 = 4

bceefae99a714203be3cf6a8f8938960.png

7.查询所有员工信息,添加一列,显示生肖

select* ,
case
 when year(PeopleBirth) % 12 = 4 then '鼠'
 when year(PeopleBirth) % 12 = 5 then '牛'
 when year(PeopleBirth) % 12 = 6 then '虎'
 when year(PeopleBirth) % 12 = 7 then '兔'
 when year(PeopleBirth) % 12 = 8 then '龙'
 when year(PeopleBirth) % 12 = 9 then '蛇'
 when year(PeopleBirth) % 12 = 10 then '马'
 when year(PeopleBirth) % 12 = 11 then '羊'
 when year(PeopleBirth) % 12 = 0 then '猴'
 when year(PeopleBirth) % 12 = 1 then '鸡'
 when year(PeopleBirth) % 12 = 2 then '狗'
 when year(PeopleBirth) % 12 = 3 then '猪'
 else ''
end 生肖
from People

cf58301c2cda43679e1718d09cb564b2.png

😧如何巩固学习

把我所写的代码进行阅读,并且自行的进行题目的分析,在把题目写下来这样有利于加深自己的印象,期末遇到这些题目就不用担心啦!!

我是爱你们的M malloc,我们下期再见呀!

1eb3d97d33b44ab691a9728de479cfb9.gif

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
存储 SQL 关系型数据库
【怒怼大厂面试官】你先说说知道哪些MySQL的高级特性
面试官:上一期博客问了你MySQL主从复制,现在考考你MySQL高级特性吧。分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。
106 1
|
存储 SQL 关系型数据库
技术同学必会的MySQL设计规约,都是惨痛的教训
怎么才能很好的避免低级故障?以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。
33782 22
|
11月前
|
SQL 存储 关系型数据库
认真学习MySQL中游标与实例分析
认真学习MySQL中游标与实例分析
83 0
查漏补缺第四期(Mysql相关)
前言 目前正在出一个查漏补缺专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本专题主要以Java语言为主, 好了, 废话不多说直接开整吧~ 项目有没有用到sql优化,你是如何优化的呢? 使用索引:索引是数据库中提供快速访问数据的重要工具。确保在查询中使用到的列上创建索引,特别是经常用于过滤、排序和连接的列。然而,过多的索引也会导致性能下降,因此需要权衡选择合适的列创建索引。
|
存储 SQL 缓存
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
365 0
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
|
存储 SQL 机器学习/深度学习
爆肝3万字,最硬核丨Mysql 知识体系、命令全集(中) 【建议收藏 】
爆肝3万字,最硬核丨Mysql 知识体系、命令全集(中) 【建议收藏 】
爆肝3万字,最硬核丨Mysql 知识体系、命令全集(中) 【建议收藏 】
|
存储 关系型数据库 MySQL
MySQL复习资料——用于突击考试总结
MySQL复习资料——用于突击考试总结
181 0
|
SQL 关系型数据库 MySQL
【面试必刷】Mysql编程题:第六期
【面试必刷】Mysql编程题:第六期
【面试必刷】Mysql编程题:第六期
|
SQL 算法 关系型数据库
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(七)
|
SQL 缓存 关系型数据库
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(六)