MYSQL select语句的单表查询

这篇文章运用了实例代码展示select语句的单表查询的用法,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

SELECT语句的基本语法如下:

select selection_list                  //要查询的内容,选择哪些列
from 数据表名                           //指定数据表
where primary_constraint        //查询时需要满足的条件,行必须满足的条件
group by grouping_columns       //如何对结果进行分组
order by sorting_cloumns           //如何对结果进行排序
having secondary_constraint      //查询时满足的第二条件
limit count 

单表查询

单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单。

1.查询所有字段

查询所有字段是指查询表中所有字段的数据。这种方式可以将表中所有字段的数据都查询出来。在MySQL中可以使用“*”代表所有的列,即可查出所有的字段,
语法格式如下:

SELECT * FROM 表名;

例子:

create database test;    #创建库
use test;  #进入库
create table info (id int not null,name char(6),score decimal(5,2),age int(4)); #创建表
插入测试数据
insert into info (id,name,score,age)values(1,'san',88,33);
insert into info (id,name,score,age)values(2,'lisi',48,31);
insert into info (id,name,score,age)values(3,'wwu',68,27);
insert into info (id,name,score,age)values(4,'pw',98,25);
insert into info (id,name,score,age)values(5,'wlk',19,37);
insert into info (id,name,score,age)values(3,'lihua',58,23);
SELECT * FROM info;

2.查询指定字段

单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单
查询指定字段可以使用下面的语法格式:
SELECT 字段名 FROM 表名;

例子:

SELECT name FROM info;

查询结果:

3.查询指定数据

如果要从很多记录中查询出指定的记录,那么就需要一个查询的条件。设定查询条件应用的是WHERE子句。通过它可以实现很多复杂的条件查询。在使用WHERE子句时,需要使用一些比较运算符来确定查询的条件。

例子:

SELECT * FROM info WHERE name = 'lisi' ;

查询结果:

4.带IN关键字的查询

IN关键字可以判断某个字段的值是否在于指定的集合中。如果字段的值在集合中,则满足查询条件,该记录将被查询出来;如果不在集合中,则不满足查询条件。
其语法格式如下:

SELECT * FROM 表名 WHERE 条件 [NOT] IN(元素1,元素2,…,元素n);

例子:

SELECT * FROM info WHERE name in ('lisi','pw') ;

查询结果:

SELECT * FROM info WHERE name not in ('lisi','kk') ;

查询结果:

5.带BETWEEN AND的范围查询

BETWEEN AND关键字可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来。如果不在指定范围内,则不满足查询条件。
其语法如下:

SELECT * FROM 表名 WHERE 条件 [NOT] BETWEEN 取值1 AND 取值2;

例子:

SELECT * FROM info WHERE age BETWEEN 25 AND 35;

查询结果:

友情提醒:边缘值包括在内,25和35都符合条件

6.带LIKE的字符匹配查询

LIKE属于较常用的比较运算符,通过它可以实现模糊查询。
它有两种通配符:“%”和下划线“_”;

例子:

SELECT * FROM info WHERE name LIKE '%w%' ;

查询结果:

7.用IS NULL关键字查询空值

IS NULL关键字可以用来判断字段的值是否为空值(NULL)。如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。
其语法格式样如下:
IS [NOT] NULL

例子:

SELECT * FROM info WHERE age is not NULL;

查询结果:

8.带AND的多条件查询

AND关键字可以用来联合多个条件进行查询。使用AND关键字时,只有同时满足所有查询条件的记录会被查询出来。如果不满足这些查询条件的其中一个,这样的记录将被排除掉。
AND关键字的语法格式如下:

select * from 数据表名 where 条件1 and 条件2 […AND 条件表达式n];

例子:

SELECT * FROM info WHERE age =33 and name ='san';

查询结果:

9.带OR的多条件查询

OR关键字也可以用来联合多个条件进行查询,但是与AND关键字不同,OR关键字只要满足查询条件中的一个,那么此记录就会被查询出来;如果不满足这些查询条件中的任何一个,这样的记录将被排除掉。
OR关键字的语法格式如下:

select * from 数据表名 where 条件1 OR 条件2 […OR 条件表达式n];

例子:

SELECT * FROM info WHERE age =23 or name ='san';

查询结果:

10.用DISTINCT关键字去除结果中的重复行

使用DISTINCT关键字可以去除查询结果中的重复记录
语法格式如下:
select distinct 字段名 from 表名;

例子:

select distinct score from info;

查询结果:

去重前:

11.用ORDER BY关键字对查询结果排序

使用ORDER BY可以对查询的结果进行升序(ASC)和降序(DESC)排列,在默认情况下,ORDER BY按升序输出结果。如果要按降序排列可以使用DESC来实现。
语法格式如下:
ORDER BY 字段名 [ASC|DESC];

例子:

select * from info ORDER BY score;

查询结果:

12.用GROUP BY关键字分组查询

通过GROUP BY子句可以将数据划分到不同的组中,实现对记录进行分组查询。在查询时,所查询的列必须包含在分组的列中,目的是使查询到的数据没有矛盾。

例子:

select id,age from info GROUP BY age;

查询结果:

13.用LIMIT限制查询结果的数量

查询数据时,可能会查询出很多的记录。而用户需要的记录可能只是很少的一部分。这样就需要来限制查询结果的数量。LIMIT是MySQL中的一个特殊关键字。LIMIT子句可以对查询结果的记录条数进行限定,控制它输出的行数。

例子:

select * from info ORDER BY score LIMIT 3;

查询结果:

看完上述内容,你们学会使用select语句单表查询的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注本站行业资讯频道,感谢各位的阅读!

相关推荐:

如何解决 MySQL 轮询中无法获取新数据的问题

python使用mysql-connector-python轮询mysql时,首次查询能返回结果,后续却始终为空——根本原因在于游标未显式获取数据且连接复用导致事务隔离或结果集缓存问题,需正确管理游标生命周期与连接状态。 python使用mysql-connector-python轮询mysql时,...

如何使用 Python 的 MySQL Connector 创建存储过程

本文详解在python中通过mysql-connector-python创建mysql存储过程的正确方法,重点解决“commandsoutofsync”错误,说明为何不能使用delimiter语句、如何规避多结果集冲突,并提供可直接运行的安全示例。 本文详解在python中通过mysql-conne...

如何在 Python 中使用 MySQL Connector 安全创建存储过程

本文详解如何通过mysql-connector-python正确创建MySQL存储过程,重点解决“Commandsoutofsync”错误——该错误源于MySQL协议不支持多语句中嵌套DELIMITER及多结果集未清理问题,并提供可直接运行的健壮实现方案。 本文详解如何通过mysql-connect...

Python select与epoll区别_IO多路复用原理

select和epoll都是I/O多路复用机制,但设计目标和适用场景不同 select是早期Unix系统就支持的通用接口,跨平台性好;epoll是Linux2.6+特有的高效实现,专为高并发、大量连接优化。两者核心目标一致:让一个线程/进程同时监控多个文件描述符(如socket)的读写就绪状态,避免...

如何在 MySQL 中安全地使用 Python 变量执行 UPDATE 操作

本文详解如何通过参数化查询将python变量安全注入mysql的update语句,避免sql注入风险与语法错误,并提供可直接运行的代码示例和关键注意事项。 本文详解如何通过参数化查询将python变量安全注入mysql的update语句,避免sql注入风险与语法错误,并提供可直接运行的代码示例和关键...

如何在 MySQL UPDATE 语句中安全传入 Python 变量

本文详解如何在python中使用mysql-connector-python(或其他兼容pep249的驱动)将外部变量安全、正确地注入mysqlupdate语句,避免sql注入与语法错误,并提供可直接复用的参数化查询范式。 本文详解如何在python中使用mysql-connector-python...

如何在 MySQL UPDATE 语句中安全、正确地使用 Python 变量

本文详解如何将python变量安全注入mysql的update语句,避免sql注入风险与语法错误,重点介绍参数化查询的写法及原理。 本文详解如何将python变量安全注入mysql的update语句,避免sql注入风险与语法错误,重点介绍参数化查询的写法及原理。 在使用mysql-connector...

Python select / poll / epoll 的差异

select、poll、epoll是Python中I/O多路复用机制:select跨平台但受限于1024fd且O(n)开销;poll突破数量限制但仍O(n)扫描;epoll为Linux专属,事件驱动、O(1)就绪通知、支持ET/LT模式。 Python中的select、poll和epoll都是I/O...