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 7222222222
    SELECT * FROM employee5 WHERE salary REGEXP '72+'; 
	#查询 开头是ali
    SELECT * FROM employee5 WHERE name REGEXP '^ali';
    #查询结尾是yun
    SELECT * 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.mfbz.cn/a/261361.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

传输层协议分析--第4关:UDP 包分析

任务描述 本关任务&#xff1a;能够掌握简单的 UDP 包分析。 相关知识 为了更好掌握本章内容&#xff0c;你需要了解的有&#xff1a; UDP 报文的简介&#xff1b;UDP 报文格式&#xff1b;Wireshark 软件中的 UDP 抓包分析。 UDP 简介 UDP&#xff08;User Datagram Pro…

Python与Flink的完美融合:合流基本操作解析

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Apache Flink 是一个流式处理框架&#xff0c;支持复杂事件处理和大规模数据分析。在 Flink 中&#xff0c;合流&#xff08;Join&#xff09;是一种常见的操作&#xff0c;用于将两个或多个流中的数据按照指定条…

12.21 汇编点亮STM32MP157小灯

.text .global _start _start: 时钟使能pb6 pf6 pe9LDR r0,0x50000A28LDR r1,[r0]ORR r1,r1,#(0x1<<4)ORR r1,r1,#(0x1<<5)ORR r1,r1,#(0x1<<1)STR r1,[r0]配置GPIO模式LDR r0,0x50006000LDR r1,[r0]BIC r1,r1,#(0x2<<20)ORR r1,r1,#(0x1<<20)B…

【UE】阅读和理解距离剔除源码

距离剔除 官方文档&#xff1a;虚幻引擎中的剔除距离体积 | 虚幻引擎5.2文档 (unrealengine.com) 距离剔除&#xff0c;顾名思义&#xff0c;是根据距离来将场景对象的渲染进行加卸载的一种管理方式。 用距离剔除&#xff0c;可以减轻场景同时渲染大量物品的情况&#xff0c;…

ACM32F42x/4x3优势有那些?可应用在那些场景上?

优势 • 最大4MB Flash&#xff0c;可用于同时存储程序代码静态图片 • 128KB/196KB SRAM用于程序堆栈部分图片缓存 • 叠封最大8MB PSRAM&#xff0c;用于大容量图片缓存 • 180MHz M33内核&#xff0c;处理性能极佳 • 可选QFN32(4x4)、QFN48(5x5)小封装&#xff0…

动画渲染需要什么配置电脑?动画云渲染有什么优惠?

​在电影制作、游戏开发、广告设计以及其他设计领域&#xff0c;CG&#xff08;计算机图形学&#xff09;这一发展迅速、并融合了艺术创作与科技应用的领域发挥了重大作用。对于追求在 CG 创作中达到卓越表现的人来说&#xff0c;拥有一台高性能电脑设备至关重要。为此&#xf…

利用prometheus+grafana进行Linux主机监控

文章目录 一.架构说明与资源准备二.部署prometheus1.上传软件包2.解压软件包并移动到指定位置3.修改配置文件4.编写启动脚本5.启动prometheus服务 三.部署node-exporter1.上传和解压软件包2.设置systemctl启动3.启动服务 四.部署grafana1.安装和启动grafana2.设置prometheus数据…

Python实验作业,爬虫,中国院士信息

实验内容&#xff1a; 爬取中国工程院网页上&#xff0c;把每位院士的简介保存为本地文本文件&#xff0c;把每位院士的照片保存为本地图片&#xff0c;文本文件和图片文件都以院士的姓名为主文件名。 实验代码&#xff1a; import os.path import time from urllib.request …

web打印技术方案

在B/S应用系统开发中常常遇到表单打印需求&#xff0c;尤其是OA、ERP类的企业运营管理系统&#xff0c;打印的需求很常见&#xff0c;但WEB应用的打印一直以来是一个难题&#xff0c;特别是在应用中完成标签打印&#xff08;如包裹面单、货运标签等&#xff09;、票据打印&…

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路&#xff1a;2、具体步骤 五、Java算法源码再重新读一遍题目&#xff0c;看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…

用最通俗的语言讲解 TCP “三次握手,四次挥手”

目录 一. 前言 二. TCP 报文的头部结构 三. 三次握手 3.1. 三次握手过程 3.2. 为什么要三次握手 四. 四次挥手 4.1. 四次挥手过程 4.2. 为什么要四次挥手 五. 大白话说 5.1. 大白话说三次握手 5.2. 大白话说四次挥手 六. 总结 一. 前言 TCP 是一种面向连接的、可靠…

【SpringBoot快速入门】(3)SpringBoot整合junit和MyBatis 详细代码示例与讲解

目录 1.SpringBoot整合junit1.1 环境准备1.2 编写测试类 2.SpringBoot整合mybatis2.1 回顾Spring整合Mybatis2.2 SpringBoot整合mybatis2.2.1 创建模块2.2.2 定义实体类2.2.3 定义dao接口2.2.4 定义测试类2.2.5 编写配置2.2.6 测试2.2.7 使用Druid数据源 之前我们已经学习的Spr…

I.MX6ULL_Linux_驱动篇(47)linux RTC驱动

RTC 也就是实时时钟&#xff0c;用于记录当前系统时间&#xff0c;对于 Linux 系统而言时间是非常重要的&#xff0c;就和我们使用 Windows 电脑或手机查看时间一样&#xff0c;我们在使用 Linux 设备的时候也需要查看时间。本章我们就来学习一下如何编写 Linux 下的 RTC 驱动程…

spring boot回顾02

配置文件 SpringBoot使用一个全局的配置文件 &#xff0c; 配置文件名称是固定的 application.properties 语法结构 &#xff1a;keyvalue application.yml 语法结构 &#xff1a;key&#xff1a;空格 value 配置文件的作用 &#xff1a;修改SpringBoot自动配置的默认值&am…

低功耗 电源管理 SCMI接口

SCMI overview&#xff1a; SCMI 协议&#xff1a;

本地websocket服务端结合cpolar内网穿透实现公网访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

VMware克隆虚拟机

要求&#xff1a;利用模板虚拟机hadoop100&#xff0c;克隆出hadoop101虚拟机。 1、鼠标右键点击已存在的模板虚拟机hadoop100 --> 管理 --> 克隆 2、选择克隆自虚拟机中的当前状态 3、创建完整克隆 4、修改虚拟机名称、位置 5、等待克隆完成后&#xff0c;则成功克隆出…

Debian在升级过程中报错

当我们在升级的过程中出现如下报错信息 报错信息如下所示&#xff1a; The following signatures couldnt be verified because the public key is not available: NO_PUBKEY ED444FF07D8D0BF6 W: GPG error: http://mirrors.jevincanders.net/kali kali-rolling InRelease: …

CentOS安装jdk

1、查看可安装版本 yum -y list java* 2、安装jdk1.8版本 yum -y install java-1.8.0-openjdk 3、查看版本 java -version 4、安装目录为&#xff1a; /usr/lib/jvm 5、卸载 yum -y remove java-1.8.0-openjdk

干洗店预约上门取货小程序与互联网洗鞋店小程序开发制作功能方案

干洗店预约上门取货小程序与互联网洗鞋店小程序开发制作功能方案 一、洗衣洗鞋店小程序功能 1. 预约订单&#xff1a;忙碌时&#xff0c;您可以使用预约功能轻松获取洗衣服务。 2. 在线下单&#xff1a;用户可直接通过小程序在线下单&#xff0c;享受专人上门取货与配送服务。…