当前位置: 首页 > news >正文

MySQL -- DQL

1、select查询列和列名:
--查询所有员工信息(*通配符,默认查询所有的列)
select * from emp;--查询员工的姓名
select ename from emp;--查询员工的薪资
select sal from emp;--查询员工的姓名和薪资
select ename , sal from emp;
select ename sal from emp;
select ename sal comm from emp;--查询员工的姓名和薪资,推荐使用单引号
select ename '员工姓名', sal "薪资" from emp;--查询到的数据可以直接进行运算
select ename ,sal ,sal * 12 from emp;
select ename ,sal ,comm ,(sal+comm) * 12 from emp;
2、select的条件查询,普通条件查询 => < != <> >= <=
--查询员工编号为7369的员工
select ename,sal from emp where empno = 7369;--查询员工姓名叫做SMITH
select ename,deptno,job from emp where ename = 'SMITH';
select ename,deptno,job from emp where ename = 'smith';--查询薪资大于2000的员工姓名
select ename from emp where sal > 2000;--查询工作为SALESMAN
select * from emp where job = 'SALESMAN';--查询部门在20的员工
select * from emp where deptno = 20;--查询薪资不等于2000的员工
select * from emp where sal != 2000;
select * from emp where sal != 2000;
3、in 在某个范围中查找
--查询 员工编号为 7369 7788 7881的员工信息
select * from emp where empno in (7369,7788,7881);--查询 员工编号除了 7369 7788 7881之外的所有员工信息
select * from emp where empno not in(7369,7788,7881);--查询除了10,20部门之外的所有员工
select * from emp where deptno not in (10,20);
4、null值查询
--查询不发放津贴的员工信息
select * from emp where comm is null;--查询发放津贴的员工信息
select * from emp where comm is not null;
5、范围比较
--查询薪资范围在1000-4000之间的员工信息 [1000.4000]
select * from emp where sal between 1000 and 4000;
6、模糊查询 % _
--查询名字中有S的员工
select * from emp where ename like '%S%';--查询名字最后一个字符是S
select * from emp where ename like '%S';--查询名字第一个字符是S
select * from emp where ename like 'S%';--查询名字第二个字符是A
select * from emp where ename like '_A%';--查询名字中有%的员工
select * from emp where ename like '%\%%';
--查询名字第8 188个字符是A,这是需要一些特殊的手段-》函数
-- % 代表任意字符的任意次数 _任意字符的一次
7、 多条件联合查询 and or
--and 必须前后同时满足条件才能返回结果
--or前后有一个满足条件就能返回结果--查询在20部门并且薪资大于2000的员工
select * from emp where deptno =20 and sal >2000;--查询在20部门或者薪资大于2000的员工
select * from emp where deptno = 20 or sal >2000;--查询不在20部门并且薪资小于2000的员工
select * from emp where deptno <> 20 and sal <2000;
8、select结果排序 order by,使用asc是升序排列(默认),使用desc可以降序排序
        1、单列
--按照薪资进行排序(默认升序)
select * from emp order by sal;--按照薪资进行排序(降序)
select * from emp order by sal desc;--按照薪资进行排序(升序)
select * from emp order by sal asc;--按照津贴进行排序(null排在最前面)
select * from emp order by comm;
        2、多列
--多个排序的列
select * from emp order by deptno,sal;--多个排序的列(部门升序 薪资降序)
select * from emp order by deptno,sal desc;--多个排序的列(工作,薪资)
select * from emp order by job,sal;
9、select结果分页
--每次查询前N行
SELECT* 
FROMemp LIMIT 4;--查询第N页,每页显示M个
select * from emp limit 0,3;
select * from emp limit 3,3;
select * from emp limit 6,3;
select * from emp limit (n-1)*M,M;--查询薪资大于1000的逆序排列,然后显示前5条记录
select * from emp where sal >1000 order by sal desc limit 0,5 ;
1、字符串函数:1、计算字符串的长度:length
select  name ,length(name) from emp;2、截取字符串的长度:截取的字段,下表是从1开始的。select   name ,substr(name,1,2)  from emp;3、大小写的转化:select   name ,upper(name),lower(name) from emp;4、字符串做拼接:select  comcat('word','hello');5、字符串做替换:select   replace (tom,'t',' ') from emp;  结果:  t m
日期函数:1、获取当前的时间:curdate、current_dateselect  curdate,current_date,current_time;2、日期格式的转换:- select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s')- select hiredate, date_format(now(),'%Y年%m月%d日 %H时%i分%s秒') from emp;3、分别获取年、月、日、时、分、秒select    year(curdate),month(curdate),day(curdate),hour(curdate),minute(curdate),second(curdate);4、做日期的加减:select  adddate(curdate,10);5、将时间转成时间戳:
unix_timestamp (curdate);6、两个日期相减的函数:datediff(date1,date2):两个日期相减,date1减去date2得到相减之后的天数
数值函数:
-- 向上取整 向下取整- select ceil(12.1),floor(12.9) -- mod abs pow PI rand round TRUNCATE(直接进行截取,不进行四舍五入)
-- 保留多少位有效数字- select round(1.4999999,2),round(1.4999999),round(1.4999999,-1)- select TRUNCATE(1.4999999,2)
转换函数:
-- 日期--》字符串- date_format(date,expr)- select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s');-- 字符串--》日期- 要注意字符串和格式的匹配- select STR_TO_DATE('2020-4-16 17:15:24','%Y-%c-%d %H:%i:%s');- select STR_TO_DATE('5月2022年4日','%m月%Y年%d日');
-- 空值的处理if null(exp1,exp2) exp1!=null?exp1:exp2select IFNULL(comm,888) from emp;-- 加密算法select MD5('123456');select AES_ENCRYPT('123456','abcd'),AES_DECRYPT(AES_ENCRYPT('123456','abcd'),'abcd');
case when 函数的使用:1、简单的使用:case  sex  when '男'  then true else false end;2、例如基本的使用:用例:将不同的分数段进行分类:0-60 不及格、60-70 中等、70-80 良好 80-90 优秀select name, ( case when score < 60 then '不及格'when score >60 and score <70 then '中等'when score >70 and score <80 then '良好'else '优秀' end
) as rank;
from 
score

在M有SQL中的执行的顺序是:

from  -- where -- group by -- select  --  having -- order by 

相关文章:

MySQL -- DQL

1、select查询列和列名&#xff1a; --查询所有员工信息(*通配符&#xff0c;默认查询所有的列) select * from emp;--查询员工的姓名 select ename from emp;--查询员工的薪资 select sal from emp;--查询员工的姓名和薪资 select ename , sal from emp; select ename sal fr…...

高防CDN:保障网络安全的未来之路

在当前数字化飞速发展的时代&#xff0c;网络安全问题日益成为企业和个人关注的焦点。高防CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;作为一种专注于防御网络攻击的解决方案&#xff0c;尽管在技术上表现卓越&#xff0c;但其普及却面临一系…...

使用wxPython和PyMuPDF合并PDF文档并自动复制到剪贴板

导语&#xff1a;处理大量的PDF文档可能会变得复杂和耗时。但是&#xff0c;使用Python编程和一些强大的库&#xff0c;如wxPython和PyMuPDF&#xff0c;可以使这个任务变得简单而高效。本文将详细解释一个示例代码&#xff0c;展示如何使用这些库来创建一个可以选择文件夹中的…...

Redis篇---第十四篇

系列文章目录 文章目录 系列文章目录前言一、为什么Redis的操作是原子性的,怎么保证原子性的?二、了解Redis的事务吗?四、Redis 的数据类型及使用场景前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…...

python之文件操作

文件的读取、修改、写入 知识点&#xff1a;不可以使用for循环生成变量&#xff0c;替代方式&#xff1a;将每次循环生成的数据添加到列表中&#xff0c;再对列表进行操作 例子&#xff1a;根据输入的环境名称操作hosts文件&#xff0c;注释掉其他环境 #env1 127.0.0.1 127.0.…...

android实时投屏软件QtScrcpy

QtScrcpy 可以通过 USB / 网络连接Android设备&#xff0c;并进行显示和控制。无需root权限。 同时支持 GNU/Linux &#xff0c;Windows 和 MacOS 三大主流桌面平台。 QtScrcpy: Android实时投屏软件&#xff0c;此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制…...

LeetCode - 622. 设计循环队列(C语言,顺序存储结构,配图)

目录 ​编辑定义结构体&#xff1a; 1. MyCircularQueue(k): 构造器&#xff0c;设置队列长度为 k 2. Front: 从队首获取元素。如果队列为空&#xff0c;返回 -1 3. Rear: 获取队尾元素。如果队列为空&#xff0c;返回 -1 4. enQueue(value): 向循环队列插入一个元素。…...

在 Qt 框架中,有许多内置的信号可用于不同的类和对象\triggered

在 Qt 框架中&#xff0c;有许多内置的信号可用于不同的类和对象 以下是一些常见的内置信号的示例&#xff1a; clicked()&#xff1a;按钮&#xff08;QPushButton、QToolButton 等&#xff09;被点击时触发的信号。 pressed() 和 released()&#xff1a;按钮被按下和释放时…...

springBoot中starter

springBoot项目中引入starter 项目引入xxljob&#xff0c;仅需要导入对应的starter包&#xff0c;即可进行快速开发 <dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPS…...

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…...

动态规划求数组中相邻两数的最小差值( 即相差的绝对值 ) java 实现

算法的核心是&#xff1a;计算当前数和前一个数的差值,用该差值和以前最小的连续数的差值作比较&#xff1b;如果当前的差值更小&#xff0c;则发现了更小的连续数的差值&#xff1b;如果当前的差值更大&#xff0c;则沿用以前的最小连续数差值作为新的最小连续数差值。 MinDif…...

webGL开发微信小游戏

WebGL 是一种用于在浏览器中渲染 2D 和 3D 图形的 JavaScript API。微信小游戏本质上是在微信环境中运行的基于 Web 技术的应用&#xff0c;因此你可以使用 WebGL 来开发小游戏。以下是基于 WebGL 开发微信小游戏的一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有…...

leetcode面试经典150题——29 三数之和

题目&#xff1a;盛最多水的容器 描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意…...

数据分析基础之《jupyter notebook工具》

一、安装库 1、linux库 yum install python3-devel 2、python库 pip3 install -U matplotlib pip3 install -U numpy pip3 install -U pandas pip3 install -U TA-Lib pip3 install -U tables pip3 install -U notebook 3、如果TA-Lib安装不上&#xff0c;先手动安装依赖库 …...

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上&#xff0c;并且使用的Gradle JDK是&#xff1a;Android Studio java home版本17.0.1将其更改为&#xff1a;Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3...

javaScript 内存管理

1 js 内存机制 内存空间&#xff1a;栈内存&#xff08;stack&#xff09;、堆内存&#xff08;heap&#xff09; 栈内存&#xff1a;所有原始数据类型都存储在栈内存中&#xff0c;如果删除一个栈原始数据&#xff0c;遵循先进后出&#xff1b;如下图&#xff1a;a 最先进栈&…...

Idea2023 Springboot web项目正常启动,页面展示404解决办法

Idea2023 Springboot web项目正常启动,页面展示404解决办法 问题&#xff1a; 项目启动成功&#xff0c;但是访问网页&#xff0c;提示一直提示重定向次数过多&#xff0c;404 解决方法 在IDEA的Run/Debug Configurations窗口下当前的Application模块的Working directory中添…...

Android手机如何用Charles抓包HTTPS接口

对Charles的安装和使用&#xff0c;这里就不重复介绍了&#xff0c;之前有介绍Charles工具。 本文重点介绍在Android手机上如何配置抓包环境 1.获取Charles配置 去Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 查…...

Oracle for Windows安装和配置——Oracle for Windows net配置

2.3. Oracle for Windows net配置 2.3.1. Oracle net配置 2.3.1.1. Oracle net简介 前述章节中,我们只是安装了数据库软件,创建了数据库,测试在服务器本地连接查询数据库。但还不能通过网络远程连接访问数据库,因为我们还没配置用来远程连接访问该数据库的组件Oracle ne…...

C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录

目录 一、前言 1.Database.ExecuteSqlCommand 方法不被EF7.0支持 2.SET IDENTITY_INSERT Blog {ON,OFF}不起作用 3.主键和标识列分离&#xff0c;成功实现插入与修改 二、新建本文涉及的项目 三、程序设计 1.Form1.cs源码 2.Form1.cs[设计] 四、生成和测试 1.原始表 …...

炉石传说智能脚本:新手从零到精通的完整指南

炉石传说智能脚本&#xff1a;新手从零到精通的完整指南 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 你是否厌倦了重复的炉石传说日常任务&#xff…...

别再死记硬背了!用Java代码和动画图解,5分钟搞懂基数排序的LSD和MSD

基数排序可视化&#xff1a;用动画和Java代码拆解LSD与MSD的奥秘 当你第一次听说基数排序时&#xff0c;脑海中是否浮现出一堆数字在某种神秘规则下自动排列的场景&#xff1f;作为非比较型排序算法中的佼佼者&#xff0c;基数排序通过巧妙的"分桶"策略&#xff0c;让…...

Bard-API非官方Python接口:原理、风险与迁移官方Gemini API指南

1. 项目概述&#xff1a;一个非官方的Google Bard/Gemini Python接口 如果你正在寻找一个能绕过官方认证流程、直接通过浏览器Cookie与Google Bard&#xff08;现已更名为Gemini&#xff09;对话的Python工具&#xff0c;那么你很可能已经听说过或正在寻找 Bard-API 这个项目…...

IP归属地是什么意思?跨境网络环境解析

摘要&#xff1a; IP归属地是网络数据库中 IP 的地理信息&#xff0c;对于跨境运营来说&#xff0c;是判断网络环境的基础指标之一。本文将通俗介绍 IP归属地概念、常见检测差异&#xff0c;以及如何快速判断网络环境。 一、IP归属地是什么&#xff1f; IP归属地指一个 IP 地址…...

Gemini3.1Pro:HR招聘神器,一键生成专业面试题

对 HR 来说&#xff0c;招聘最花时间的&#xff0c;往往不是发职位&#xff0c;而是出题、筛选、追问、比对、整理面试记录。尤其是技术岗、产品岗、运营岗、设计岗这些岗位&#xff0c;面试题如果出得不准&#xff0c;就会出现两个问题&#xff1a;要么问得太浅&#xff0c;看…...

通达信缠论插件终极指南:3步实现自动化缠论技术分析

通达信缠论插件终极指南&#xff1a;3步实现自动化缠论技术分析 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾被复杂的缠论分析困扰&#xff1f;手工绘制笔、线段、中枢耗时费力&#xff0c;主…...

免费开源电路板查看器:OpenBoardView 终极解决方案

免费开源电路板查看器&#xff1a;OpenBoardView 终极解决方案 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 对于电子工程师、维修技术人员和硬件爱好者而言&#xff0c;查看和分析.brd电路板文件是一项…...

CKS考试通关后,我总结的这5个K8S安全配置实战场景(附避坑指南)

CKS认证工程师的5个K8S安全配置实战场景与避坑指南 作为云原生领域最具含金量的安全认证之一&#xff0c;CKS&#xff08;Certified Kubernetes Security Specialist&#xff09;认证不仅考察理论知识&#xff0c;更注重解决实际安全问题的能力。本文将分享通过CKS考试后&…...

告别云端依赖:在树莓派4B上用sherpa-ncnn实现离线语音识别(C++实战)

树莓派4B离线语音识别实战&#xff1a;sherpa-ncnnC全流程解析 在智能家居、工业物联网等边缘计算场景中&#xff0c;语音交互正逐渐成为标配功能。但依赖云服务的方案存在延迟高、隐私泄露风险等问题&#xff0c;而树莓派这类嵌入式设备的计算资源又有限。本文将带你用sherpa…...

基于MCP协议与AI代理的社交媒体自动化运营实战指南

1. 项目概述&#xff1a;用AI代理自动化你的社交媒体运营 如果你和我一样&#xff0c;每天需要在多个社交媒体平台&#xff08;比如X/Twitter、LinkedIn、Instagram&#xff09;上发布内容&#xff0c;同时还得兼顾内容创意、排版、配图和发布时间&#xff0c;那你一定懂这种“…...