当前位置:网站首页>MySQL教程66-数据表查询语句
MySQL教程66-数据表查询语句
2022-07-25 15:36:00 【51CTO】
在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。
SELECT 的语法格式如下:


View Code
其中,各条子句的含义如下:
-
{*|<字段列名>}包含星号通配符的字段列表,表示所要查询字段的名称。 -
<表 1>,<表 2>…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。 -
WHERE <表达式>是可选项,如果选择该项,将限定查询数据必须满足该查询条件。 -
GROUP BY< 字段 >,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。 -
[ORDER BY< 字段 >],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。 -
[LIMIT[<offset>,]<row count>],该子句告诉 MySQL 每次显示查询出来的数据条数。
下面先介绍一些简单的 SELECT 语句,关于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制条件,后面会一一讲解。
查询表中所有字段
查询所有字段是指查询表中所有字段的数据。MySQL 提供了以下 2 种方式查询表中的所有字段。
- 使用“*”通配符查询所有字段
- 列出表的所有字段
1)使用“*”查询表的所有字段
SELECT 可以使用“*”查找表中所有字段的数据,语法格式如下:
使用“*”查询时,只能按照数据表中字段的顺序进行排列,不能改变字段的排列顺序。
例 1
从 tb_students_info 表中查询所有字段的数据,SQL 语句和运行结果如下所示。
结果显示,使用“*”通配符时,将返回所有列,数据列按照创建表时的顺序显示。
2)列出表的所有字段
SELECT 关键字后面的字段名为需要查找的字段,因此可以将表中所有字段的名称跟在 SELECT 关键字后面。如果忘记了字段名称,可以使用 DESC 命令查看表的结构。
有时,由于表的字段比较多,不一定能记得所有字段的名称,因此该方法很不方便,不建议使用。
例 2
查询 tb_students_info 表中的所有数据,SQL 语句还可以书写如下:
运行结果和例 1 相同。
这种查询方式比较灵活,如果需要改变字段显示的顺序,只需调整 SELECT 关键字后面的字段列表顺序即可。
虽然列出表的所有字段的方式比较灵活,但是查询所有字段时通常使用“*”通配符。使用“*”这种方式比较简单,尤其是表中的字段很多的时候,这种方式的优势更加明显。当然,如果需要改变字段显示的顺序,可以选择列出表的所有字段。
查询表中指定的字段
查询表中的某一个字段的语法格式为:
例 3
查询 tb_students_info 表中 name 列所有学生的姓名,SQL 语句和运行结果如下所示。
输出结果显示了 tb_students_info 表中 name 字段下的所有数据。
使用 SELECT 声明可以获取多个字段下的数据,只需要在关键字 SELECT 后面指定要查找的字段名称,不同字段名称之间用逗号“,”分隔开,最后一个字段后面不需要加逗号,语法格式如下:
例 4
从 tb_students_info 表中获取 id、name 和 height 三列,SQL 语句和运行结果如下所示。
输出结果显示了 tb_students_info 表中 id、name 和 height 三个字段下的所有数据。
边栏推荐
- MySQL - Summary of common SQL statements
- Gary Marcus: 学习语言比你想象的更难
- How to disable hosting when Flink SQL in flink-1.13.6 runs in yarn session mode
- Beyond compare 4 realizes class file comparison [latest]
- BSC smart chain contract mode system development details
- Games101 review: Transformation
- Take you to learn more about JS basic grammar (recommended Collection)
- 我想问下变量配置功能是只能在SQL模式下使用吗
- 不愧是阿里内部“千亿级并发系统架构设计笔记”面面俱到,太全了
- Solve the vender-base.66c6fc1c0b393478adf7.js:6 typeerror: cannot read property 'validate' of undefined problem
猜你喜欢

Redis distributed lock, it's really impossible without it

Solve the vender-base.66c6fc1c0b393478adf7.js:6 typeerror: cannot read property 'validate' of undefined problem

用GaussDB(for Redis)存画像,推荐业务轻松降本60%

Gary Marcus: 学习语言比你想象的更难

CVPR 2022 | 网络中批处理归一化估计偏移的深入研究

JVM - classloader and parental delegation model

十字链表的存储结构

GAMES101复习:线性代数

LeetCode - 362 敲击计数器(设计)

Why is preparestatement better and safer?
随机推荐
How to realize page inclusion
2016 CCPC network trial c-change root DP good question
ZOJ - 4114 flipping game DP, reasonable state representation
Pytoch learning notes -- seresnet50 construction
Matlab -- CVX optimization kit installation
Window system black window redis error 20creating server TCP listening socket *: 6379: listen: unknown error19-07-28
Pytoch learning notes - Teacher Liu Er RNN advanced chapter - code comments and results
Pytoch learning notes advanced_ CNN (using perception_module) implements MNIST dataset classification - (comments and results)
MySQL optimization summary II
Pat grade a 1153 decode registration card of PAT (25 points)
MySQL—用户和权限管控
MySQL - Summary of common SQL statements
Geogle colab notes 1-- run the.Py file on the cloud hard disk of Geogle
Cf566a greed + dictionary tree
Leetcode - 641 design cycle double ended queue (Design)*
LeetCode - 707 设计链表 (设计)
LeetCode - 303 区域和检索 - 数组不可变 (设计 前缀和数组)
物理防火墙是什么?有什么作用?
MySQL优化总结二
华为2023届提前批预热开始!左 神的程序代码面试指南终派上用场