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

news2024/11/25 0:41:34

目录

  • 数据库查询(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.coloradmin.cn/o/1326923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 1901. 寻找峰值 II

一、题目 1、题目描述 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat &#xff0c;其中任意两个相邻格子的值都 不相同 。找出 任意一个 峰值 mat[i][j] 并 返回其位置 [i,j] 。 你可以假设整个矩阵…

透明加密 | 半透明加密 \ 智能加密的区别

透明加密、半透明加密和智能加密都是数据加密技术&#xff0c;但它们在应用方式、加密效果和使用场景上存在一些区别。 PC端访问地址&#xff1a; www.drhchina.com 透明加密&#xff1a; 透明加密是一种强制加密技术&#xff0c;它通过文件过滤驱动透明加解密技术进行文件加…

uniapp uview1.0 页面多个upload上传、回显之后处理数据

<view class"img-title w-s-color-3 f-28 row">商品图片</view><u-upload ref"images" :header"header" :file-list"fileListImages" :action"action" name"iFile" icon-name"camera"u…

【K8s】2# 使用kuboard管理K8s集群(kuboard安装)

文章目录 安装 Kuboard v3部署计划 安装登录测试 安装 Kuboard v3 部署计划 在正式安装 kuboard v3 之前&#xff0c;需做好一个简单的部署计划的设计&#xff0c;在本例中&#xff0c;各组件之间的连接方式&#xff0c;如下图所示&#xff1a; 假设用户通过 http://外网IP:80…

BBS项目--登录

BBS阶段性测试总要求 django登录报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因分析&#xff1a;出现这种情况在Windows中很常见&#xff0c;就是端口被占用 解决措施&#xff1a;这时我们只需改一下端口便可以了 登录前端页面(HTML…

windows netstat命令

文章目录 前言各选项的含义如下&#xff1a; 前言 Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具&#xff0c;它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检…

SQL基础:查询的基本使用

上一节我们讲述了记录的基本操作&#xff0c;这一节我们来单独讲一下查询。 查询基本结构 首先我们来看下查询的基本结构 SELECTcolumn1,column2,... FROMtable_name [WHEREcondition] [GROUP BYcolumn1, column2, ...] [HAVINGaggregate_function(column) condition] [ORDE…

使用docker-compose搭建docker私服与配置WebUI

简介 本文介绍了使用docker compose 搭建 docker私服 环境 Docker version 24.0.6, build ed223bc Docker Compose version v2.21.0 正文 一、创建registry文件夹 我的路径是/usr/loca/docker/registry 二、创建并编写docker-compose.yml version: "3.9" services…

MyBatis Plus使用遇到的问题

如果想使用Mapper的xxxById()方法&#xff0c;实体类的主键上面必须加上TableId注解&#xff0c;如果不加&#xff0c;会报错 2023-12-21 22:48:33.526 WARN 11212 --- [ main] c.b.m.core.injector.DefaultSqlInjector : class com.example.mybatisplusdemo.dom…

CEC2013(python):五种算法(GA、WOA、GWO、DBO、HHO)求解CEC2013(python代码)

一、五种算法简介 1、遗传算法算法GA 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、蜣螂优化算法DBO 5、哈里斯鹰优化算法HHO 二、5种算法求解CEC2013 &#xff08;1&#xff09;CEC2013简介 参考文献&#xff1a; [1] Liang J J , Qu B Y , Suganthan P N , et al. Prob…

C语言---井字棋(三子棋)

Tic-Tac-Toe 1 游戏介绍和随机数1.1 游戏介绍1.2 随机数的生成1.3 棋盘大小和符号 2 设计游戏2.1 初始化棋盘2.2 打印棋盘2.3 玩家下棋2.4 电脑下棋2.5 判断输赢2.6 game()函数2.7 main()函数 3 完整三子棋代码3.1 Tic_Tac_Toe.h3.2 Tic_Tac_Toe.c3.3 Test.c 4 游戏代码的缺陷 …

3-高可用-隔离术

隔离是指将系统或资源分割开&#xff0c;系统隔离是为了在系统发生故障时&#xff0c;能限定传播范围和影响范围&#xff0c;即发生故障后不会出现滚雪球效应&#xff0c;从而保证只有出问题的服务不可用&#xff0c;其他服务还是可用的。 比较多的隔离手段有线程隔离、进程隔…

开源堡垒机JumpServer结合内网穿透实现远程访问

开源堡垒机JumpServer结合内网穿透实现远程访问 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 …

57 优化二进制序列

动态规划 #include <iostream> using namespace::std; using std::cout; using std::cin; int yhejz(int n, int nums[]) {int dp0 0;int dp1 0;int result -1;for(int i0; i<n; i){if(nums[i] 1){dp1;dp0;}else {dp1 dp01;dp0 0;}result max(dp1,max(dp0,re…

计算机毕业设计 基于SpringBoot的大学生平时成绩量化管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

在线培训考试系统的优势及应用场景介绍

在线培训考试系统是一种基于互联网的教育工具&#xff0c;它结合了在线培训和考试的功能&#xff0c;具有许多优势和广泛的应用场景。 提高学习效果 在线培训考试系统首先可以提高学习效果。系统提供了多媒体学习资源&#xff0c;例如文字、图片、音频和视频等&#xff0c;以…

Visual Studio 输入英文会在字母之间自动增加空格

问题如图&#xff1a; 原因&#xff1a;我们在输入中文的时候&#xff0c;不小心按下了shift空格键&#xff0c;比如&#xff1a; 此时&#xff0c;我们在输入中文的时候&#xff0c;再次按下shift空格键就可以恢复正常了。

docker部署个人网站项目记录(前后端分离)

背景 项目是前后端分离&#xff0c;前端有三部分&#xff0c;分别是 个人网站&#xff08;blog&#xff09;网站后台管理系统&#xff08;admin&#xff09;数据大屏&#xff08;datascreen&#xff09; 后端是基于nodejs写的后台服务 后台接口服务&#xff08;todo-nodejs…

uniapp图片上传说明

目录 1.文件上传组件 2.单文件上传 3.多文件上传 4.图片的回显 5.注意点 1.文件上传组件 前端上传组件使用uni-file-picker&#xff0c;可以自行进行下载使用。默认上传到绑定的服务空间&#xff0c;配置属性auto-upload为false关闭自动上传&#xff0c;可以限定上传的是…

【JAVA基础】DeferredResult使用详解

简介 Servlet3.0提供了基于servlet的异步处理api&#xff0c;Spring MVC只是将这些api进行了一系列的封装&#xff0c;从而实现了DeferredResult。 DeferredResult字面意思是"延迟结果"&#xff0c;它允许Spring MVC收到请求后&#xff0c;立即释放(归还)容器线程&…