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

智能推荐

settext 下划线_Android TextView 添加下划线的几种方式-程序员宅基地

文章浏览阅读748次。总结起来大概有5种做法:将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化)当文字中出现URL、E-mail、电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是**android:autoLink="all",当然也可以在java代码里 做,textView01.setAutoLinkMask(Li..._qaction::settext 无法添加下划线

TableStore时序数据存储 - 架构篇_tablestore 时间类型处理-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏10次。摘要: 背景 随着近几年物联网的发展,时序数据迎来了一个不小的爆发。从DB-Engines上近两年的数据库类型增长趋势来看,时序数据库的增长是非常迅猛的。在去年我花了比较长的时间去了解了一些开源时序数据库,写了一个系列的文章(综述、HBase系、Cassandra系、InfluxDB、Prometheus),感兴趣的可以浏览。背景随着近几年物联网的发展,时序数据迎来了一个不小的爆发。从DB..._tablestore 时间类型处理

Ubuntu20.04下成功运行VINS-mono_uabntu20.04安装vins-mono-程序员宅基地

文章浏览阅读5.7k次,点赞8次,收藏49次。可以编译成功但是运行时段错误查找原因应该是ROS noetic版本中自带的OpenCV4和VINS-mono中需要使用的OpenCV3冲突的问题。为了便于查找问题,我只先编译feature_tracker包。解决思路历程:o想着把OpenCV4相关的库移除掉,但是发现编译feature_tracker的时候仍然会关联到Opencv4的库,查找原因是因为cv_bridge是依赖opencv4的,这样导致同时使用了opencv3和opencv4,因此运行出现段错误。oo进一步想着(1)把vins-mon_uabntu20.04安装vins-mono

TMS320C6748_EMIF时钟配置_tms 6748-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏12次。创龙TL6748开发板中,EMIFA模块使用默认的PLL0_SYSCLK3时钟,使用AISgen for D800K008工具加载C6748配置文件C6748AISgen_456M_config(Configuration files,在TL_TMS6748/images文件夹下),由图可以看到DIV3等于4,注意这里的DIV3就是实际的分频值(x),而不是写入相应PLL寄存器的值(x-1)。_tms 6748

eigen稀疏矩阵拼接(基于块操作的二维拼接)的思考-程序员宅基地

文章浏览阅读5.9k次,点赞4次,收藏13次。转载请说明出处:eigen稀疏矩阵拼接(块操作)eigen稀疏矩阵拼接(块操作)关于稀疏矩阵的块操作:参考官方链接 However, for performance reasons, writing to a sub-sparse-matrix is much more limited, and currently only contiguous sets of columns..._稀疏矩阵拼接

基于Capon和信号子空间的变形算法实现波束形成附matlab代码-程序员宅基地

文章浏览阅读946次,点赞19次,收藏19次。波束形成是天线阵列信号处理中的一项关键技术,它通过对来自不同方向的信号进行加权求和,来增强特定方向的信号并抑制其他方向的干扰。本文介绍了两种基于 Capon 和信号子空间的变形算法,即最小方差无失真响应 (MVDR) 算法和最小范数算法,用于实现波束形成。这些算法通过优化波束形成权重向量,来最小化波束形成输出的方差或范数,从而提高波束形成性能。引言波束形成在雷达、声纳、通信和医学成像等众多应用中至关重要。它可以增强目标信号,抑制干扰和噪声,提高系统性能。

随便推点

Ubuntu好用的软件推荐_ubuntu开发推荐软件-程序员宅基地

文章浏览阅读3.4w次。转自:http://www.linuxidc.com/Linux/2017-07/145335.htm使用Ubuntu开发已经有些时间了。写下这篇文章,希望记录下这一年的小小总结。使用Linux开发有很多坑,同时也有很多有趣的东西,可以编写一些自动化脚本,添加定时器,例如下班定时关机等自动化脚本,同时对于服务器不太了解的朋友,建议也可以拿台Linux来实践下,同时Ubuntu在Androi_ubuntu开发推荐软件

Nginx反向代理获取客户端真实IP_nginx获取到的是交换机的ip-程序员宅基地

文章浏览阅读2.2k次。一,问题 nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。二,解决 Nginx服务器增加转发配置 proxy_set_header Host $host;_nginx获取到的是交换机的ip

Wireshark TCP数据包跟踪 还原图片 WinHex应用_wireshark抓包还原图片-程序员宅基地

文章浏览阅读1.4k次。Wireshark TCP数据包跟踪 还原图片 WinHex简单应用 _wireshark抓包还原图片

Win8蓝屏(WHEA_UNCORRECTABLE_ERROR)-程序员宅基地

文章浏览阅读1.5k次。Win8下安装VS2012时,蓝屏,报错WHEA_UNCORRECTABLE_ERROR(P.S.新的BSOD挺有创意":("),Google之,发现[via]需要BIOS中禁用Intel C-State,有严重Bug的嫌疑哦原因有空再看看..._win8.1 whea_uncorrectable_error蓝屏代码

案例课1——科大讯飞_科大讯飞培训案例-程序员宅基地

文章浏览阅读919次,点赞21次,收藏22次。科大讯飞是一家专业从事智能语音及语音技术研究、软件及芯片产品开发、语音信息服务的软件企业,语音技术实现了人机语音交互,使人与机器之间沟通变得像人与人沟通一样简单。语音技术主要包括语音合成和语音识别两项关键技术。此外,语音技术还包括语音编码、音色转换、口语评测、语音消噪和增强等技术,有着广阔的应用。_科大讯飞培训案例

perl下载与安装教程【工具使用】-程序员宅基地

文章浏览阅读4.7k次。Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强的处理、变换能力,ActivePerl是一个perl脚本解释器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl。_perl下载

推荐文章

热门文章

相关标签