玩转MySQL(三)基础查询

2024-09-04 20:48

本文主要是介绍玩转MySQL(三)基础查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

超详细的Java知识点路线图


在这里插入图片描述


前言

SQL的查询语句是开发中使用最多也是最重要的语句,我们现在的网络生活无一不是在进行着查询操作,如:打开微信看朋友圈、上京东淘宝逛逛商品、在百度上查找某些东西、在手机上刷头条等等。
查询语句比较灵活,有很多种用法,掌握它们对我们的程序开发有重要的作用。


基本的查询语句

查询语句的基本语法是:

select 字段列表 from 表名;

其中字段列表可以包含多个字段,字段直接由逗号分隔,如:

select 字段1,字段2,字段3  from 表名;

也可以使用*,代表所有的字段,如:

select * from 表名;

代码示例:

-- 查询所有字段
select * from tb_student;

在这里插入图片描述

-- 查询部分字段
select stu_id,stu_name,stu_age from tb_student;

在这里插入图片描述

查询使用显示别名

在查询结果中,列名可以被替换成别名
语法:

select 字段1 别名,字段2 别名 ... from 表名;

代码示例:

-- 查询时使用别名
select stu_id 编号,stu_name 姓名,stu_age 年龄 from tb_student;

在这里插入图片描述

查询关键字之 WHERE

大多数情况下,我们在进行查询时,需要按某些条件对结果进行筛选。
带条件的查询:

select * from 表名 where 条件; 

代码示例:

-- 查询编号为2的学生
select * from tb_student where stu_id = 2;

在这里插入图片描述

-- 查询年龄大于20的学生
select * from tb_student where stu_age >= 20;

在这里插入图片描述

查询关键字之 IN

表示查询字段在多个值中任意一个
字段名 in (值1,值2…)
代码示例:

-- 查询籍贯是武汉或北京或成都的学生
select * from tb_student where stu_address in ('北京','武汉','成都');

在这里插入图片描述

查询关键字之 BETWEEN

表示字段的值在一个范围内
字段名 between 值1 and 值2
代码示例:

-- 查询年龄在20到25之间的学生
select * from tb_student where stu_age between 20 and 25;

在这里插入图片描述

查询关键字之 LIKE 模糊查询

有时候我们需要查询不那么精确的条件,如:姓张的学生,名字带小的学生等
字段名 like ‘带通配符的字符串’;
通配符包括:
% 代表任意长度的字符
_ 代表任意一个字符
代码示例:

-- 查询姓张的学生
select * from tb_student where stu_name like '张%';

在这里插入图片描述

-- 查询手机尾号为3333的学生
select * from tb_student where stu_telephone like '%3333';

在这里插入图片描述

-- 查询姓名中带小的学生
select * from tb_student where stu_name like '%小%';

在这里插入图片描述

查询关键字之 IS NULL 条件查询

查询字段为空的记录,如果查询不为空的字段,可以加上not
字段 is [not] null

-- 查询没有填写手机号的学生
select * from tb_student where stu_telephone is null;

在这里插入图片描述

查询关键字之 AND 多条件查询

使用and连接两个条件,两个条件必须同时成立,整个条件才成立
条件1 and 条件2
代码示例:

-- 查询年龄在25以上的女同学
select * from tb_student where stu_age > 25 and stu_gender = '女';

在这里插入图片描述

查询关键字之 OR 多条件查询

使用or连接两个条件,条件只需要一个成立,整个条件就成立
条件1 or 条件2
代码示例:

-- 查询籍贯是北京或武汉的男学生
select * from tb_student where stu_address = '北京' or stu_address = '武汉';

在这里插入图片描述

查询关键字之 DISTINCT

查询结果中会有很多字段的值是重复的,distinct可以去掉重复的值。
select distinct 字段 from 表 …;
代码示例:

-- 查询所有学生的籍贯
select distinct stu_address from tb_student;

在这里插入图片描述

查询关键字之 ORDER BY 排序

查询时我们可以对字段进行排序,如商品按价格、销量等排序
排序的语法是:
select * from 表名 order by 字段 [asc|desc];
order by 后面是排序的字段,asc代表升序,是默认值可以省略,desc是降序。
代码示例:

-- 学生按年龄升序排序
select * from tb_student order by stu_age;

在这里插入图片描述

-- 学生按年龄降序排序
select * from tb_student order by stu_age desc;

在这里插入图片描述

查询关键字之 LIMIT 分页

有时候我们表里面的数据比较多,查询时可以分成多页,这样查询速度会提高,用户也比较容易操作。
语法:
select * from 表名 limit 开始位置,长度;
说明:开始位置是从0开始的,第一行的位置就是0,开始位置可以省略,默认是从第一行开始。长度是这一页记录的行数。
代码示例:

-- 查询学生,每5行为一页,分多页查询
select * from tb_student limit 0,5;
select * from tb_student limit 5,5;
select * from tb_student limit 10,5;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-- 查询年龄最小的学生
select * from tb_student order by stu_age limit 1;

在这里插入图片描述


总结

本章我们学习了基本查询语句,包含带where条件的查询,in关键字查询多个值、between关键字查询范围、使用and和or关键字进行条件的连接、以及order by排序、limit分页等。后面我们将学习内连接、外连接、子查询等高级查询方法。有帮到你的话,麻烦点个赞吧:)


大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

这篇关于玩转MySQL(三)基础查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136998

相关文章

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免