MySQL-数据查询操作-基本查询-条件查询-排序查询_mysql怎么搜索数组条件-程序员宅基地

技术标签: MySQL  数据库  SQL  

基础查询

案例所使用表字段介绍:
在这里插入图片描述

语法、特点、注意事项

语法

select 查询列表 from 表名;

类似于:System.out.println(打印东西);

特点

  • 查询列表可以是:表中的字段、常量值、表达式、函数;
  • 查询的结果是一个虚拟的表格;

注意事项

  • 对数据库操作之前,需要明确对哪个数据库进行操作(use 数据库名)(select database()查看当前所属数据库是哪个)
  • 代码中书写字段的时候,可以加着重号(`)(英文状态下点击)(大键盘数字1旁边)。
    添加的作用是:当字段名和关键字重名的时候,加上着重号表示它是一个字段而不是关键字。

案例

需求 语句 解释说明
查询表中的单个字段 select 字段 from 表名;
查询表中的多个字段 select 字段1,字段2 from 表名;
查询表中的所有字段 select * from 表名; 缺点是:列之间的顺序是固定的;当想按照另一种顺序显示的时候,则需要将列名都写出来。
select last_name,email,job_id,phone_number from employees
查询常量值 select xxxx; 字符串和字符一样,都使用单引号。
字符型和日期型的常量值必须用单引号引起来,数值型不需要。
查询表达式 select 100*90; 加减乘除取模
查询函数 select 函数名(实参列表);
其中函数是必须有返回值的。
相当于执行了两步:函数的执行 和 查询函数的返回值。
起别名 select 100%98 as 结果 使用as关键字
select 100%98 (空格) 结果 as可以省略
好处:①便于理解;②如果要查询的字段有重名的情况,使用别名可以区分开来。
select salary “out put” from employees; 当别名出现的特殊字符(空格)的时候,需要别名加双引号
去重 select distinct 字段 from 表; 字段名只能写一个,表示该字段的值不能重复
+号 的作用 mysql中的+号:仅仅是运算符;
①select 100+90;两个操作数都为数值型,则做加法运算。
②select ‘100’+90;只要其中一方是字符型,试图将字符型转换为数值型;如果转换成功,则继续做加法运算。
③select’join’+90;如果转化失败,则将字符型数值转换为0.
④select null + 90;只要其中一方为null,则结果肯定为null。
java中的+号作用:①运算符,两个操作数都为数值型;②连接符,只要有一个操作数为字符串;
拼接字符 concat(字符1,字符2…) select concat(字符1,字符2…) 案例:查询员工名和姓连接成一个字段,并显示为姓名。
select concat(last_name,first_name) as 姓名 from employees
使用concat函数对字符进行连接
ifnull函数 ifnull(字段或表达式,指定值) 判断某字段或表达式是否为null 如果为null,则返回指定的值;反之,返回原本的值。
isnull函数 isnull(字段或表达式) 判断某字段或表达式是否为null 如果为null,则返回1;反之,返回0.

ifnull(字段或表达式,指定值)
在这里插入图片描述
测试案例1-3
在这里插入图片描述
desc 表名; select * from 表名;
在这里插入图片描述

条件查询

语法

select 查询列表 from 表名 where 筛选条件;

要求筛选条件的最终结果是true或false
执行顺序:from→where→select

按条件表达式筛选

条件运算符
小于 < 小于等于<= 大于> 大于等于>= 等于= 不等于<> 安全等于<=>

说明2022/7/29
等于=
用于比较两边的操作数是否相等,相等返回1,不相等返回0;共有两个操作数。

操作数 结果
一个或两个为null 结果为null
两个都是字符串 比较字符串
两个都是整数 按照整数比较
一个字符串、一个数字 MySQL自动将字符串转换为数字 再进行比较
字符转数字失败,转换为0

安全等于 < = >
可以比较 字符串、数字、null值

操作数 结果
两个操作数都是nulll 结果为1
一个操作数是null 结果为0

案例
在这里插入图片描述

按逻辑表达式筛选

作用:用于连接条件表达式

符号 说明
and
&&
两个条件都为true,结果为true;反之,为false
or
||
有一个为true,结果为true;反之,为false
not
!
如果连接的条件本身为false,结果为true;反之,为false

案例
在这里插入图片描述

模糊查询

关键词:like、between and、in、is null 或者 is not null 、<=> 安全等于

关键词 说明
like 一般和通配符搭配使用,用于判断字符型或者数值型。
通配符:% 任意多个字符,包括0个字符; _ 任意单个字符
注:可以使用escape来任意指定转义字符,默认情况下是\。
between and between 值1 and 值2;在值1和值2之间,即值1<= 字段 <= 值2
特点:①使用between and 可以提高语句的简洁度;②包含临界值;
两个临界值不要调换顺序。因为下面两者是等价的。
#where employee_id between 100 and 120;
#where employee_id>=100 and employee_id<=120;
in 含义:判断某字段的值是否属于in列表中的某一项
特点:①使用in提高语句简洁度;②in列表的值类型必须统一或兼容;③不支持通配符;
is null
is not null
= 和 <> 不能用于判断null值;
is null 和 is not null 用于判断null的值;
< = >
安全等于
判断是否等于。可以是null,也可以是数值型。
缺点:可读性比较差。

is null 和 < = > 比较

关键词 普通的数据(如 数值型) null类型 可读性
is null 不支持 支持 较好
< = > 支持 支持 较差

案例:like、 between and、 in
在这里插入图片描述
案例 is null 、is not null 、安全等于
在这里插入图片描述
测试题
在这里插入图片描述
注意

2022/4/14
关于sql语句中的单引号和双引号问题

双引号和单引号问题
如果操作的是字符串类型常量,则需要在字符串两侧加单引号;
如果使用是的变量,则需要使用双引号;

字符串类型常量
'汪苏泷'

字符串类型变量,将字符串常量去掉、添加双引号、在添加连接符&、再放入变量
' “ & 变量 & ” '

排序查询

语法特点

作用:为了实现查询内容的有序显示

语法

select 查询列表 from 表名
【where 筛选列表】
order by 排序列表【asc | desc;

asc 表示升序,desc 表示降序
ascend 升序,descend 降序;

特点
asc表示的是升序,desc表示的是降序;如果不写,默认为升序;
order by 子句中支持单个字段(字段)、多个字段(字段1,字段2)、表达式(salary *12 )、函数、别名;
order by 子句一般都是放在查询语句的最后面,但是limit子句除外;
执行顺序:from→where→select→order by ;

案例

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LXMXHJ/article/details/124176583

智能推荐

如何配置DNS服务的正反向解析_dns反向解析-程序员宅基地

文章浏览阅读3k次,点赞3次,收藏13次。root@server ~]# vim /etc/named.rfc1912.zones #添加如下内容,也可直接更改模板。[root@server ~]# vim /etc/named.conf #打开主配置文件,将如下两处地方修改为。注意:ip地址必须反向书写,这里文件名需要和反向解析数据文件名相同。新建或者拷贝一份进行修改。nslookup命令。_dns反向解析

设置PWM占空比中TIM_SetCompare1,TIM_SetCompare2,TIM_SetCompare3,TIM_SetCompare4分别对应引脚和ADC通道对应引脚-程序员宅基地

文章浏览阅读2.5w次,点赞16次,收藏103次。这个函数TIM_SetCompare1,这个函数有四个,分别是TIM_SetCompare1,TIM_SetCompare2,TIM_SetCompare3,TIM_SetCompare4。位于CH1那一行的GPIO口使用TIM_SetCompare1这个函数,位于CH2那一行的GPIO口使用TIM_SetCompare2这个函数。使用stm32f103的除了tim6和tim7没有PWM..._tim_setcompare1

多线程_进程和线程,并发与并行,线程优先级,守护线程,实现线程的四种方式,线程周期;线程同步,线程中的锁,Lock类,死锁,生产者和消费者案例-程序员宅基地

文章浏览阅读950次,点赞33次,收藏19次。多线程_进程和线程,并发与并行,线程优先级,守护线程,实现线程的四种方式,线程周期;线程同步,线程中的锁,Lock类,死锁,生产者和消费者案例

在 Linux 系统的用户目录下安装 ifort 和 MKL 库并配置_在linux系统的用户目录下安装ifort和mkl库并配置-程序员宅基地

文章浏览阅读2.9k次。ifort 编译器的安装ifort 编译器可以在 intel 官网上下载。打开https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html#gs.7iqrsm点击网页中下方处的 Download, 选择 Intel Fortran Compiler Classic and Intel Fortran Compiler(Beta) 下方对应的版本。我选择的是 l_在linux系统的用户目录下安装ifort和mkl库并配置

使用ftl文件生成图片中图片展示无样式,不显示_ftl格式pdf的样式调整-程序员宅基地

文章浏览阅读689次,点赞7次,收藏8次。些项目时需要一个生成图片的方法,我在网上找到比较方便且适合我去设置一些样式的生成方式之一就是使用Freemarker,在对应位置上先写好一个html格式的ftl文件,在对应位置用${参数名}填写上。还记得当时为了解决图片大小设置不上,搜索了好久资料,不记得是在哪看到的需要在里面使用width与height直接设置,而我当时用style去设置,怎么都不对。找不到,自己测试链接,准备将所有含有中文的图片链接复制一份,在服务器上存储一份不带中文的文件。突然发现就算无中文,有的链接也是打不开的。_ftl格式pdf的样式调整

orin Ubuntu 20.04 配置 Realsense-ROS_opt/ros/noetic/lib/nodelet/nodelet: symbol lookup -程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏12次。拉取librealsense。_opt/ros/noetic/lib/nodelet/nodelet: symbol lookup error: /home/admin07/reals

随便推点

操作系统精选习题——第四章_系统抖动现象的发生由什么引起的-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏29次。一.单选题二.填空题三.判断题一.单选题静态链接是在( )进行的。A、编译某段程序时B、装入某段程序时C、紧凑时D、装入程序之前Pentium处理器(32位)最大可寻址的虚拟存储器地址空间为( )。A、由内存的容量而定B、4GC、2GD、1G分页系统中,主存分配的单位是( )。A、字节B、物理块C、作业D、段在段页式存储管理中,当执行一段程序时,至少访问()次内存。A、1B、2C、3D、4在分段管理中,( )。A、以段为单位分配,每._系统抖动现象的发生由什么引起的

UG NX 12零件工程图基础_ug-nx工程图-程序员宅基地

文章浏览阅读2.4k次。在实际的工作生产中,零件的加工制造一般都需要二维工程图来辅助设计。UG NX 的工程图主要是为了满足二维出图需要。在绘制工程图时,需要先确定所绘制图形要表达的内容,然后根据需要并按照视图的选择原则,绘制工程图的主视图、其他视图以及某些特殊视图,最后标注图形的尺寸、技术说明等信息,即可完成工程图的绘制。1.视图选择原则工程图合理的表达方案要综合运用各种表达方法,清晰完整地表达出零件的结构形状,并便于看图。确定工程图表达方案的一般步骤如下:口分析零件结构形状由于零件的结构形状以及加工位置或工作位置的不._ug-nx工程图

智能制造数字化工厂智慧供应链大数据解决方案(PPT)-程序员宅基地

文章浏览阅读920次,点赞29次,收藏18次。原文《智能制造数字化工厂智慧供应链大数据解决方案》PPT格式主要从智能制造数字化工厂智慧供应链大数据解决方案框架图、销量预测+S&OP大数据解决方案、计划统筹大数据解决方案、订单履约大数据解决方案、库存周转大数据解决方案、采购及供应商管理大数据模块、智慧工厂大数据解决方案、设备管理大数据解决方案、质量管理大数据解决方案、仓储物流与网络优化大数据解决方案、供应链决策分析大数据解决方案进行建设。适用于售前项目汇报、项目规划、领导汇报。

网络编程socket accept函数的理解_当在函数 'main' 中调用 'open_socket_accept'时.line: 8. con-程序员宅基地

文章浏览阅读2w次,点赞38次,收藏102次。在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。 accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新的”就是说这个套接字与socket()返回的用于监听和接受客户端的连接请求的套接字不是同一个套接字。与本次接受的客户端的通信是通过在这个新的套接字上发送和接收数_当在函数 'main' 中调用 'open_socket_accept'时.line: 8. connection request fa

C#对象销毁_c# 销毁对象及其所有引用-程序员宅基地

文章浏览阅读4.3k次。对象销毁对象销毁的标准语法Close和Stop何时销毁对象销毁对象时清除字段对象销毁的标准语法Framework在销毁对象的逻辑方面遵循一套规则,这些规则并不限用于.NET Framework或C#语言;这些规则的目的是定义一套便于使用的协议。这些协议如下:一旦销毁,对象不可恢复。对象不能被再次激活,调用对象的方法或者属性抛出ObjectDisposedException异常重复地调用对象的Disposal方法会导致错误如果一个可销毁对象x 包含或包装或处理另外一个可销毁对象y,那么x的Disp_c# 销毁对象及其所有引用

笔记-中项/高项学习期间的错题笔记1_大型设备可靠性测试可否拆解为几个部分进行测试-程序员宅基地

文章浏览阅读1.1w次。这是记录,在中项、高项过程中的错题笔记;https://www.zenwu.site/post/2b6d.html1. 信息系统的规划工具在制订计划时,可以利用PERT图和甘特图;访谈时,可以应用各种调查表和调查提纲;在确定各部门、各层管理人员的需求,梳理流程时,可以采用会谈和正式会议的方法。为把企业组织结构与企业过程联系起来,说明每个过程与组织的联系,指出过程决策人,可以采用建立过程/组织(Process/Organization,P/O)矩阵的方法。例如,一个简单的P/O矩阵示例,其中._大型设备可靠性测试可否拆解为几个部分进行测试