mysql 23-2day 数据库查询(DQL)

目录

  • 数据库查询(DQL)
    • 环境:
    • 准备一个表格作为查询环境
    • 查看数据
    • 根据要求查看数据
    • 运算查询
    • as 可以修改字段名字 进行查询
    • 查询所有部门
    • 拼接两个字段
    • 查询 2017年入职的员工
    • 一个是空null 一个是空白
    • 查询 NULL
    • 集合
    • 排序查询
    • 查看有那些组
    • 通配符
    • 正则查询
    • 函数

数据库查询(DQL)

dql 主要是对 数据库进行查询
主要学习 select 命令的使用

环境:

centos 7
mysql 7.5.43(yum安装)

准备一个表格作为查询环境

创建一个表格

 CREATE TABLE company.employee5(id int primary key AUTO_INCREMENT not null,name varchar(30) not null,sex enum('male','female') default 'male' not null,hire_date date not null,post varchar(50) not null,job_description varchar(100),salary double(15,2) not null,office int,dep_id int);

插入数据 方便之后查询

 insert into company.employee5(name,sex,hire_date,post,job_description,salary,office,dep_id) values ('jack','male','20180202','instructor','teach',5000,501,100),('tom','male','20180203','instructor','teach',5500,501,100),('robin','male','20180202','instructor','teach',8000,501,100),('alice','female','20180202','instructor','teach',7200,501,100),('tianyun','male','20180202','hr','hrcc',600,502,101),('harry','male','20180202','hr',NULL,6000,502,101),('emma','female','20180206','sale','salecc',20000,503,102),('christine','female','20180205','sale','salecc',2200,503,102),('zhuzhu','male','20180205','sale',NULL,2200,503,102),('gougou','male','20180205','sale','',2200,503,102);

这就是创建好之后的表格
在这里插入图片描述

查看数据

这里查看了全部数据

select * from employee5;

在这里插入图片描述

根据要求查看数据

# 根据要求查看数据
--查询工资小于五千  这里只看的是名字
select name from company.employee5 where salary <5000;
--如果要看工资 则需要把工资加上
select salary,name from company.employee5 where salary <5000;
-- > < >=  <= 1=

在这里插入图片描述

运算查询

# 运算查询
SELECT name,salary *14 from company.employee5;
--查看 十四个月的工资
SELECT name,salary*14 as sum_salary from company.employee5;

在这里插入图片描述

as 可以修改字段名字 进行查询

SELECT name as king,salary*14 as sum_salary from company.employee5;

在这里插入图片描述

查询所有部门

# 查询所有部门
select dep_id from company.employee5;
-- 去重(避免重复)
select distinct dep_id from company.employee5;   --去重

在这里插入图片描述
在这里插入图片描述

拼接两个字段

# 拼接两个字段
select name,post from company.employee5;
select concat(name,'_is_',post) from company.employee5;

在这里插入图片描述


在这里插入图片描述

查询 2017年入职的员工

这里用了五种方法进行查询

修改一个员工时间为2017
update company.employee5 set {new date} where {old date}update company.employee5 set hire_date="2017-3-15" where name='jack';--1、统配符查询
SELECT * FROM employee5 WHERE hire_date like "2017%"; 
--2017% 中 %  这里代表匹配所有的意思--2、位置查询(lefi right)
SELECT * FROM employee5 WHERE LEFT(hire_date,4)=2017;
--LEFI(hire_date,4) 左边四位
--RIGHT(hire_date,4) 右边四位--3、 时间范围
SELECT * FROM employee5 WHERE hire_date >"2016-12-31" and hire_date < "2018-01-01";-- 4、between查询
SELECT * FROM employee5 WHERE hire_date BETWEEN "2016-12-31" and "2018-01-01";-- 5、正则
SELECT * FROM employee5 WHERE hire_date REGEXP "2017"

在这里插入图片描述

一个是空null 一个是空白

    1、等价于没有任何值、是未知数。2、NULL与0、空字符串、空格都不同,NULL没有分配存储空间。3、对空值做加、减、乘、除等运算操作,结果仍为空。4、比较时使用关键字用“is null”和“is not null”。5、排序时比其他数据都小,所以NULL值总是排在最前。

查询 NULL

# 查询 NULL
select * from company.employee5 where job_description is NULL;
# 查询 不是空的
select * from company.employee5 where job_description is NOT NULL;#空 字符串 不等于 NULL

在这里插入图片描述

集合

select  name.post from company.employee5 where id in (1,3,5);

在这里插入图片描述

排序查询

select  * from company.employee5 order by salary desc;-- desc 降序
select  * from company.employee5 order by salary;-- asc 升序 (如果不写 默认是升序asc)

在这里插入图片描述

查看有那些组

select  post from company.employee5 group by post;

在这里插入图片描述

通配符

查看包含20 的内容

 SELECT * from company.employee5 WHERE salary like '%20%';

在这里插入图片描述
在这几个数据中 都包含20

正则查询

	#查询有这些数据722222 7222222222SELECT * FROM employee5 WHERE salary REGEXP '72+'; #查询 开头是aliSELECT * FROM employee5 WHERE name REGEXP '^ali';#查询结尾是yunSELECT * FROM employee5 WHERE name REGEXP 'yun$';#查询 m 出现的次数 出现了1-8次SELECT * FROM employee5 WHERE name REGEXP 'm{1,8}';-- 最多出现八次SELECT * FROM employee5 WHERE name REGEXP 'm{,8}';-- 最多出现一次SELECT * FROM employee5 WHERE name REGEXP 'm{1,}';

函数

    count()		--统计数量  查看一共有多少条数据
select count(*) from company.employee5;max()		--查询最大哪个值 
SELECT name,salary FROM company.employee5 WHERE salary = (SELECT MAX(salary) FROM company.employee5);min()		--查询最小值
SELECT name,salary FROM company.employee5 WHERE salary = (SELECT MIN(salary) FROM company.employee5);avg()		--平均值
SELECT avg(salary) from company.employee5;--  某个部门的平均工资database()	--显示当前数据库
select database();user()		--查看当权用户
SELECT user();now()		--打印当前时间
SELECT now();sum()		--对某字段数据进行求和
SELECT SUM(salary) AS total_amount FROM company.employee5;password()	--用来设置加密后的密码目前官方已经不推荐使用了(好吧 我承认这里我走神了  大家知道有这个东西就可以了)

🌸完结 撒花 🌸
🌸择一人 忠一生 很简单 很幸福🌸
🌸回静明月 潇洒一生🌸

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/293854.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 复合数据类型:指针

文章目录 指针用法无效指针空指针void *ptr指向指针的指针指向常量的指针指针常量指针和数组指针数组和数组指针 指针 计算机中的数据都存在内存中&#xff0c;访问内存的最小单元是“字节”&#xff0c;所有数据&#xff0c;就保存在内存中具有连续编号的一串字节中。 指针顾…

【JAVA面试题】基本类型的强制类型转换是否会丢失精度?引用类型的强制类型转换需要注意什么?

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 思路 1、继承关系 2、运行时类型检查 结语 我的其他博客 前言 在Java编程中&#xff0c;强制类型转换是一个常见的操作&#xf…

Python实现AR协方差结构线性回归模型(GLSAR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 GLSAR是具有AR协方差结构的广义最小二乘法线性回归模型。 本项目通过GLSAR回归算法来构建AR协方差结构…

Nature 新研究发布,GPT 驱动的机器人化学家能够自行设计和进行实验,这对科研意味着什么?

文章目录 前言揭秘Coscientist不到四分钟&#xff0c;设计并改进了程序能力越大&#xff0c;责任越大 前言 有消息称&#xff0c;AI 大模型 “化学家” 登 Nature 能够自制阿司匹林、对乙酰氨基酚、布洛芬&#xff0c;甚至连复杂的钯催化交叉偶联反应&#xff0c;也能完成。 …

2. 行为模式 - 命令模式

亦称&#xff1a; 动作、事务、Action、Transaction、Command 意图 命令模式是一种行为设计模式&#xff0c; 它可将请求转换为一个包含与请求相关的所有信息的独立对象。 该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中&#xff0c; 且能实现可撤销…

智能优化算法应用:基于白冠鸡算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于白冠鸡算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于白冠鸡算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.白冠鸡算法4.实验参数设定5.算法结果6.参考文…

Http---HTTP 请求报文

1. HTTP 请求报文介绍 HTTP最常见的请求报文有两种: GET 方式的请求报文POST 方式的请求报文 说明: GET: 获取web服务器数据POST: 向web服务器提交数据 2. HTTP GET 请求报文分析 HTTP GET 请求报文效果图: GET 请求报文说明: ---- 请求行 ---- GET / HTTP/1.1 # GET请…

FreeRTOS之队列集操作(实践)

多个任务在在同一队列中传递的同一种数据类型&#xff0c;而队列集能够在任务之间传递不同的数据类型。 配置流程&#xff1a;&#xff08;更详细流程参考正点原子的教程&#xff09; 1、启用队列集将configUSE_QUEUE_SETA置1&#xff09; 2、创建队列集 3、创建队列或信号…

(十七)Flask之大型项目目录结构示例【二扣蓝图】

大型项目目录结构&#xff1a; 问题引入&#xff1a; 在上篇文章讲蓝图的时候我给了一个demo项目&#xff0c;其中templates和static都各自只有一个&#xff0c;这就意味着所有app的模板和静态文件都放在了一起&#xff0c;如果项目比较大的话&#xff0c;这就非常乱&#xf…

学鸿蒙开发的过程,差点要了我的命!

我真的好想感慨一下&#xff0c;这个世界真的给计算机应届生留活路了吗&#xff1f; 看着周围的同学&#xff0c;打算搞前端、JAVA、C、C的&#xff0c;一个两个去跑去应聘。你以为是00后整治职场&#xff1f; 真相是主打一个卑微&#xff1a;现阶段以学习为主&#xff08;工资…

劈窗算法反演地表温度

目录 摘要操作步骤提取热红外单波段提取NDVI同步像元分辨率与个数劈窗算法地表温度反演制图 摘要 主要使用HJ-2&#xff08;环境减灾二号卫星&#xff09;的IRS传感器的两个热红外波段&#xff0c;以及红波段与近红波段计算得到的NDVI&#xff0c;使用劈窗算法&#xff0c;得到…

MailChecker:一款功能强大的跨语言临时电子邮件安全检测库

关于MailChecker MailChecker是一款功能强大的跨语言临时电子邮件安全检测工具&#xff0c;该工具可以帮助广大研究人员快速对目标电子邮件进行安全检测和内容验证。该工具后端由一个包含了超过55000个的虚假电子邮件提供商的数据库驱动&#xff0c;当你需要使用电子邮件与你的…