MySQL||数据库查询操作(二)条件查询

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系 文章背景:相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。本文主要从下面两类关系来叙述上面三者的关系: 数据库(DB)和数据仓库(DW)的区别与联系 操作数据存储(ODS)和数据仓库(DW)的区别与联系 数据库与数据仓库的区别与联系数据库与数据仓库基础概念:数据库:传统的关系型数据库的主要应用,主要是基本的、日常的 阅读详情

建立一张范例表

        为了方便执行操作,我们需要建立一个范例表进行操作,如我们建立一张员工表,表中包含员工的编号,姓名,职务,入职时间,当月收入(美金),当月奖金,系属部门等。

-- 删除数据表  
DROP TABLE IF EXISTS emp ;  
DROP TABLE IF EXISTS dept;    
DROP TABLE IF EXISTS salgrade;  
  
-- 创建数据表
-- 员工表
CREATE TABLE dept (  
    deptno  INT PRIMARY KEY,  -- 部门编号
    dname   VARCHAR(14) ,  -- 部门名称
    loc VARCHAR(13)   -- 部门地址
) ;  
-- 员工表
CREATE TABLE emp (  
    empno   INT PRIMARY KEY,  -- 员工编号
    ename   VARCHAR(10),  -- 员工姓名
    job VARCHAR(9), -- 员工职务
    mgr INT, -- 经理的员工编号
    hiredate DATE,  -- 入职日期
    sal DOUBLE,  -- 员工收入
    comm DOUBLE,  -- 奖金
    deptno  INT -- 部门表外键,代表当前员工属于哪个部门   
);  
alter table emp add foreign key (deptno) references dept (deptno); 
-- 工资等级
CREATE TABLE salgrade (   
    grade INT,   -- 工资等级
    losal DOUBLE,  -- 当前等级最低收入
    hisal DOUBLE   -- 当前等级最高收入
);  
  
-- 插入测试数据 —— dept  
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');  
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');  
INSERT INTO dept VALUES (30,'SALES','CHICAGO');  
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');  
  
-- 插入测试数据 —— emp  
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,str_to_date('17-12-1980','%d-%m-%Y'),800,NULL,20);  
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,str_to_date('20-2-1981','%d-%m-%Y'),1600,300,30);  
INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,str_to_date('22-2-1981','%d-%m-%Y'),1250,500,30);  
INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,str_to_date('2-4-1981','%d-%m-%Y'),2975,NULL,20);  
INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,str_to_date('28-9-1981','%d-%m-%Y'),1250,1400,30);  
INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,str_to_date('1-5-1981','%d-%m-%Y'),2850,NULL,30);  
INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,str_to_date('9-6-1981','%d-%m-%Y'),2450,NULL,10);  
INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,str_to_date('19-04-1987','%d-%m-%Y'),3000,NULL,20);  
INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,str_to_date('17-11-1981','%d-%m-%Y'),5000,NULL,10);  
INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,str_to_date('8-9-1981','%d-%m-%Y'),1500,0,30);  
INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,str_to_date('23-05-1987','%d-%m-%Y'),1100,NULL,20);  
INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,str_to_date('3-12-1981','%d-%m-%Y'),950,NULL,30);  
INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,str_to_date('3-12-1981','%d-%m-%Y'),3000,NULL,20);  
INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,str_to_date('23-1-1982','%d-%m-%Y'),1300,NULL,10);  
  
-- 插入测试数据 —— salgrade  
INSERT INTO salgrade VALUES (1,700,1200);  
INSERT INTO salgrade VALUES (2,1201,1400);  
INSERT INTO salgrade VALUES (3,1401,2000);  
INSERT INTO salgrade VALUES (4,2001,3000);  
INSERT INTO salgrade VALUES (5,3001,9999);  

-- 事务提交  
COMMIT;  

条件查询

在使用 MySQL SELECT语句时,可以使用 WHERE 子句来指定查询条件,从 FROM 子句的中间结果中选取适当的数据行,达到数据过滤的效果。

where语句的格式:

WHERE <查询条件> {<判定运算1>,<判定运算2>,…}

语句分类:

  • <表达式1>{=|<|<=|>|>=|<=>|<>|!=}<表达式2>
  • <表达式1>[NOT]LIKE<表达式2>
  • <表达式1>[NOT][REGEXP|RLIKE]<表达式2>
  • <表达式1>[NOT]BETWEEN<表达式2>AND<表达式3>
  • <表达式1>IS[NOT]NULL

 使用where语句,有单条件查询,多条件查询,LIKE 语句模糊查询等,具体示例在实际中进行引用。

条件查询中的通配符:

 百分号(%)

百分号是 MySQL 中常用的一种通配符,在过滤条件中,百分号可以表示任何字符串,并且该字符串可以出现任意次。

使用百分号通配符要注意以下几点:

  • MySQL 默认是不区分大小写的,若要区分大小写,则需要更换字符集的校对规则。
  • 百分号不匹配空值。
  • 百分号可以代表搜索模式中给定位置的 0 个、1 个或多个字符。
  • 尾空格可能会干扰通配符的匹配,一般可以在搜索模式的最后附加一个百分号。

下划线( _ )

下划线通配符和百分号通配符的用途一样,但下划线只匹配单个字符,而不是多个字符,也不是 0 个字符。

-- 查询好厨师
select * from emp where job='CLERK' and sal > 1000;
-- 查询工资在1000-4000之间的厨师或销售员的姓名及年收入
select ename 姓名,sal * 12 年收入 from emp where sal between 1000 and 4000 and (job = 'SALESMAN' or job = 'CLERK');
select ename 姓名,sal * 12 年收入 from emp where sal between 1000 and 4000 and job in ('SALESMAN','CLERK');
-- 查询姓S的员工信息 模糊查询
select * from emp where ename like 'S%'
-- 假设每页数据有2条,我想查第二页员工数据
select * from emp limit 0,2;
-- 查询第1,3,6,9条员工数据
set @rownum=0; --在mysql数据库设置一个变量的语法
select * from (select @rownum:=@rownum+1 序号,ename,job from emp)t where t.序号 in (1,3,6,9); --涉及子查询:先在子查询中创建一个带序号的视图(视图要有名t),在针对视图查询
-- 查询工资大于98年后入职的任意一个员工工资的员工数据
select * from emp where sal > any(select sal from emp where hiredate > str_to_date('1998-0-1','%Y-%m-%d'))
-- 查询81到87年的员工数据
select * from emp where hiredate between str_to_date('1981-0-0','%Y-%m-%d') and str_to_date('1987-0-0','%Y-%m-%d');

 

【Golang | Database】通过database/sql包的query和exec方法操作mysql 环境:当我们想执行一些mysql语句同时需要获得返回值时(例如SELECT),可以使用包里的方法;如果不需要获取返回值(例如INSERT,DELETE,UPDATE),可以使用方法2.1 如果您当前环境没有mysql,建议使用容器方式部署,可参考我之前的文章【Golang | Database】利用database/sql访问容器化的MySQL 2.2 使用下载mysql驱动,用作插件注册 2.3 新建一个数据库gosql 3. 示例 3.1 连接数据库gosql 导入和,并使用建立与数据库gosql的连接 阅读详情

相关推荐

NXP KW47蓝牙MCU低功耗实测:从8μA睡眠到5年续航的优化实战

在物联网和嵌入式系统开发中,低功耗设计是决定电池供电设备续航能力的关键技术。其核心原理在于通过事件驱动、状态机管理和精细的电源域控制,使设备在空闲时进入深度睡眠,仅在需要时快速唤醒工作,从而将平均电流从毫安级降至微安级。这项技术的工程价值在于能够实现纽扣电池供电设备长达数年的使用寿命,广泛应用于智能家居传感器、可穿戴设备、资产追踪和工业监测等领域。以NXP KW47系列无线MCU为例,其集成的Arm Cortex-M33双核与专用射频单元,配合多级睡眠模式和高效DC-DC转换器,为超低功耗蓝牙应用提供了硬件

weixin_30162121的博客 257

MYSQL介绍——数据库查询(重点)

聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对数据求和、求最大值和最小值、求平均值等等。SUM 函数SUM函数用于求和,只能用于数字类型,字符类型的统计结果为0,日期类型统计结果是毫秒数相加。SUM函数会排除NULL值MAX函数MAX函数用于获得非空值的最大值。下面给出一个问题:查询员工最长的名字长度MIN函数MIN函数用于获得非空值的最小值。AVG函数用于获取非空值的平均数,非数字数据统计为0COUNT函数。

虚知 1677

Android布局基础与UI设计入门:打造精美应用界面

恭喜你!现在你已经掌握了Android UI开发的基础知识,包括各种布局类型、常用控件的使用以及一些UI优化技巧。这些知识将帮助你设计出既美观又实用的Android应用界面。

m0_65382359的博客 2056

MySQL基础之查询数据

MySQL基础之查询数据

笛卡尔的梦博客 3135

ccproxy 6.61 注册机(纯绿/傻瓜/真正去除线程限制)

导读:   软件介绍   1、 CCPROXY 6.61 注册机(纯绿/傻瓜/真正去除线程限制)   ***前言,这次的升级官方改动不大,据说只是为了不被某些软件当病毒***   附件包中解压即免安装版,CcREGTOOLFF.exe为注册机。   本人继续向大家隆重推出《CCPROXY6.61哎呀……破解版》   还是那个提示:   在此之前,本人还是那句老话想提示大家,CCPROXY是

i53nd的专栏 1万+

风力发电机缺陷检测平台

风力发电机缺陷检测平台相关内容展示

weixin_39779415的博客 1111

3数据库操作知识点复习及习题

笔记2

sosj110的博客 3094

tuts4you-lena151-Crackme-tutorial06

一、前言      本次研究的是lena151-Crackme-tutorial06,也是一个应用程序,但因为平台迭代的关系,程序不能正常运行,只能完成部分破解。 (一)·本次我们要破解的目标是个应用程序,如下图 (二)、使用工具:x32dbg 二、过程 这个程序的破解的方法很多,首先最简单的一种不外乎就是搜索字符串,我就按照这个思路来完成。 (一)查找字符串&lt;Unregis...

h123120的专栏 519

MySQL分组查询并统计大于某值的sql语句

表数据 统计数据sql语句 SELECT name,count(*) FROM `test` GROUP BY name; 数据结果 统计数据后排序 SELECT name,count(*) as count FROM `test` GROUP BY name ORDER BY -name; 统计数据后筛选大于2的数据 SELECT name,count(*) ...

陈新明博客 5万+

COMSOL相场法模拟枝晶生长:溶质偏析模型搭建全流程

凝固过程中枝晶形貌与溶质偏析直接决定铸件微观组织与力学性能,是材料加工领域长期关注的核心问题。相场法凭借弥散界面描述天然处理拓扑演化,成为模拟枝晶生长的主流数值方法,而通用有限元平台COMSOL为自定义偏微分方程求解提供了高度灵活的实现路径。从热力学驱动、界面各向异性到溶质再分配,模型需准确耦合相场方程与浓度扩散方程,才能在二元合金凝固模拟中还原真实枝晶尖端速度、二次臂形貌及界面富集行为。围绕溶质偏析这一关键变量,建模过程涉及无量纲化参数标定、反溶质截留项配置、分离式求解器与网格各向异性控制等核心细节。该方

weixin_30402231的博客 308

23、OpenMP常见用例与标准循环级示例详解

本文详细介绍了OpenMP的三种典型用例:循环级OpenMP、高级OpenMP和MPI+OpenMP,适用于不同层次的并行需求。重点讲解了循环级OpenMP在向量加法、流三元组和模板计算中的应用示例,并探讨了首次触摸优化、线程绑定、NUMA架构影响等关键性能优化策略。通过实际代码演示和性能分析,帮助开发者快速掌握OpenMP的基础并行化方法,并为后续高性能优化提供指导。

fanta的博客 87

MYSQL阶段题目1.1

1. A 关于对空值的描述,下列说法正确的是:( ) A.包含空值的任何算术表达式结果都等于空。 B.包含空值的连接字符串|| 等于与空字符串连接,结果还是空值。(mysql里连接字符串的是connect函数) C.空值做为判断条件是写法是 :判断字段=null。(is null/ is not null) D.表Emp中有5条记录,empID分别为1,2,3,4,5,那么查询语句S

lovely_J的博客 1750

什么是 SAP ABAP Secure Storage

此过程将单独的密钥存储在密钥路径中的密钥文件中,并自动使用新加密密钥加密安全存储中的所有数据记录。需要注意的是,不要在没有命令行工具的情况下操作密钥文件,例如,不要用不同的版本替换密钥文件,否则,安全存储中的数据记录可能变得不可读。当需要访问这些数据时,系统会对其进行解密。文件系统中的安全存储(Secure Storage in the File System)也是 SAP NetWeaver Application Server for ABAP 的一部分,主要用于安全存储连接相关的数据,如密码等。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 439

MySQL基础篇 | 简单的查询、条件查询、排序查询

MySQL 【第二篇】 简单的查询、条件查询、排序查询

m0_61933976的博客 3090

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

MySQL数据库——DQL操作——基本查询

MySQL数据库常见的操作是增删查改,而其中数据的查询是使用最多,也是最重要的操作,但是简单的查询操作是不够的,我们还需要对数据进行特定的出来再显示才能真正达到我们的目的。那么今天我将为大家分享MySQL的DQL操作——基本查询。

不能再留遗憾了的博客 1931

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Mysql数据库~~条件查询、分页查询、修改操作

1.表的其他操作 1.1创建一个表 1.2对于表的排序 1.3修改某一列的名字 1.4使用表达式 1.5删除列的重复项 1.6多个列进行排序 2.条件查询 2.1条件查询语句 2.2比较运算符 2.3条件查询展示 2.4条件查询的先后问题 2.5逻辑运算符使用 2.6模糊查询匹配 2.7对于null的处理 2.8两个方式的区别说明 3.分页查询 3.1limit的使用 3.2offset的说明 4.对于数据的修改update 4.1一次修改一列 4.2一次修改多列

大学成长道路上的探索经历与点滴思考,与君共勉,共筑成长。 1890

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

mysql列查询与条件查询实例操作

MySQL数据库列查询是数据库操作中非常基础和重要的一个环节。它允许我们根据特定的条件从表中检索出需要的数据。下面,我将通过一系列具体的实例操作,详细解释MySQL数据库列查询的各个方面,确保内容达到1000字的要求。

2401_85982605的博客 1042

MySQL数据库_数据的查询_基本查询与条件查询

文章目录MySQL数据库数据的查询数据的基本查询数据的条件查询 MySQL数据库 数据的查询 数据的基本查询 建数据库、数据表 -- 创建数据库 create database python_test charset=utf8; -- 使用数据库 use python_test; -- students表 create table students( id int unsigned p...

易编橙 · 终身成长社群,相遇已是上上签! 3137

MySQL之where条件查询

一、where条件 单表查询是MySQL查询中的一种常见的查询方式,而where语句块则在单表查询语句中起到指定查询过滤条件的功能。 语法为: select *|字段列表|表达式 from table_name [where 条件] [order by 字段列表] 说明: **:相当于按照表中字段顺序罗列表中的所有字段 字段列表:当查询结果只是表中部分字段时,可将要显示的字段罗列出来,字段之间以逗...

zzxv587的博客 9478

mysql怎么显示、查询现有数据库列表?(show databases;)怎么删除现有数据库?(drop database <库名>)

命令。

Dontla的博客 7076

Django-mysql数据库条件查询

条件查询 参数说明 BookInfo:为图书模型表 id主键, btitle书名, bpup_date出版日期, bread阅读量, bcomment评论量 HeroInfo为应用模型表 hanme英雄名字, hgender性别, hcomment描述, hbook关联图书表的外键 # 条件查询 # 查询id为1的图书 books = BookInfo.objects...

zui0302的博客 5627

条件查询+排序查询操作(MySQL)

目录前言简单条件运算符逻辑运算符模糊查询likebetween andinis null / is not null 前言 介绍MySQL的基础查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。 语法:select 查询列表 from 表名 where 筛选条件;\color{Red}语法:select \ 查询列表 \ from \ 表名 \ whe

taoxing 1947

02【数据库的基本操作】_db1数据库

Tips:我们在安装MySQL的时候,就已经指定了MySQL的字符集(为MySQL服务器字符集),我们创建的数据库如果没有特别指定默认为MySQL服务器的字符集;Tips:先删除表结构,再创建一个相同的表结构 相当于drop table emp,再create table emp。Tips:不带条件的删除会删除表中的所有记录,慎用!Tips:字段名就是表中的列名,字段类型指数据类型。Tips:MySQL中没有直接修改库名的语句。Tips:没有添加数据的字段会使用NULL。操作表之前,先使用某个数据库。

2401_89082707的博客 898

tp5查询mysql数据库中的某个字段_tp5 数据库Db查询操作

$data = Db::query('select * from tf_action');$data = Db::query('select * from tf_action where id > ? and id < ?',[1,10]);$sql = Db::getLastSql();查询用query。删除,增加,修改,用execute。$data = Db::table('tf_...

weixin_39576751的博客 2748

MySQL数据库单表查询——条件查询

哈哈

javanofa的博客 1757

达梦数据库MySQL的基础,条件,高级,分组查询

以上是MySQL数据库中基础查询、条件查询、高级查询和分组查询的一些基本知识点和语法示例。它使用GROUP BY子句来指定要进行分组的列,并且可以使用HAVING子句来筛选符合特定条件的分组。SELECT 列名1, 列名2, ... FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件);子查询是在一个查询中嵌套使用另一个查询的结果。高级查询包括了更复杂的查询需求,如使用子查询、使用聚合函数、使用排序和限制等。条件可以是一个简单的条件,也可以是多个条件的组合。

a2840561372的博客 3853
上一篇: 技术整合||navicat for mysql中不能显示中文(字符乱码)的解决
下一篇: MySQL||数据库查询操作(三)连接查询
Jock.Liu
博客等级 码龄8年 235粉丝 194原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值