MySQL SELECT:数据表查询语句

网友投稿 1289 2022-10-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

MySQL SELECT:数据表查询语句

MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段、查询指定字段、查询指定记录、查询空值、多条件的查询、对查询结果进行排序等。

MySQL SELECT 基本语法

MySQL 从数据表中查询数据的基本语句为 SELECT 语句,基本格式如下:

SELECT

{* | <字段列名>}

[FROM <表 1>, <表 2>…

[WHERE <表达式>

[GROUP BY

[HAVING [{}…]]

[ORDER BY ]

[LIMIT[,] ]

其中,各条子句的含义如下:

1、{*|<字段列名>}包含星号通配符的字段列表,表示查询的字段,其中字段列至少包含一个字段名称,如果要查询多个字段,多个字段之间要用逗号隔开,最后一个字段后不要加逗号。

2、FROM <表 1>,<表 2>…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。

3、WHERE 子句是可选项,如果选择该项,将限定查询行必须满足的查询条件。

4、GROUP BY< 字段 >,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。

5、[ORDER BY< 字段 >],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC)。

6、[LIMIT[,]],该子句告诉 MySQL 每次显示查询出来的数据条数。

使用“*”查询表中的全部内容

在 SELECT 语句中使用星号“*”通配符查询所有字段。

SELECT 查询记录最简单的形式是从一个表中检索所有记录,实现的方法是使用星号“*”通配符指定查找所有列的名称,语法格式如下:

SELECT * FROM 表名;

【实例 1】从 测试表 表中检索所有字段的数据,输入的 SQL 语句和执行结果如下所示。

mysql> use 库名;

Database changed

mysql> SELECT * FROM 测试表;

+----+--------+---------+------+------+--------+------------+

| id | name   | dept_id | age  | sex  | height | login_date |

+----+--------+---------+------+------+--------+------------+

|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |

|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |

|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |

|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |

|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |

|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |

|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |

|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |

|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |

| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |

+----+--------+---------+------+------+--------+------------+

10 rows in set (0.26 sec)

由执行结果可知,使用星号“*”通配符时,将返回所有列,数据列按照创建表时的顺序显示。

注意:一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符“*”。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。通配符的优势是,当不知道所需列的名称时,可以通过通配符获取它们。

根据前面 SELECT 语句的格式,SELECT 关键字后面的字段名为将要查找的数据,因此可以将表中所有字段的名称跟在 SELECT 关键字后面,如果忘记了字段名称,可以使用 DESC 命令查看表的结构。

有时,由于表的字段可能比较多,不一定能记得所有字段的名称,因此该方法很不方便,不建议使用。

【实例 2】查询 测试表 表中的所有数据,输入的 SQL 语句和执行结果如下所示。

mysql> SELECT id,name,dept_id,age,sex,height,login_date FROM 测试表;

+----+--------+---------+------+------+--------+------------+

| id | name   | dept_id | age  | sex  | height | login_date |

+----+--------+---------+------+------+--------+------------+

|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |

|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |

|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |

|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |

|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |

|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |

|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |

|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |

|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |

| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |

+----+--------+---------+------+------+--------+------------+

10 rows in set (0.00 sec)

注意:使用“*”可以返回所有列的数值,但若不需要返回所有列的值,为了提高效率,一般采用 SELECT 字段名列表的形式。

查询表中指定的字段

查询表中的某一个字段的语法格式为:

SELECT < 列名 > FROM < 表名 >;

【实例 3】查询 测试表 表中 name 列所有学生的姓名,输入的 SQL 语句和执行结果如下所示。

mysql> SELECT name FROM 测试表;

+--------+

| name   |

+--------+

| Dany   |

| Green  |

| Henry  |

| Jane   |

| Jim    |

| John   |

| Lily   |

| Susan  |

| Thomas |

| Tom    |

+--------+

10 rows in set (0.00 sec)

输出结果显示了 测试表 表中 name 字段下的所有数据。

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;

【实例 4】从 测试表 表中获取 id、name 和 height 三列,输入的 SQL 语句和执行结果如下所示。

mysql> SELECT id,name,height FROM 测试表;

+----+--------+--------+

| id | name   | height |

+----+--------+--------+

|  1 | Dany   |    160 |

|  2 | Green  |    158 |

|  3 | Henry  |    185 |

|  4 | Jane   |    162 |

|  5 | Jim    |    175 |

|  6 | John   |    172 |

|  7 | Lily   |    165 |

|  8 | Susan  |    170 |

|  9 | Thomas |    178 |

| 10 | Tom    |    165 |

+----+--------+--------+

10 rows in set (0.00 sec)

输出结果显示了 测试表 表中 id、name 和 height 三个字段下的所有数据。

个人建议:使用多少字段的话就查询读取多少字段,少用一点通配符*。易语言读取数据出来的例子的话大家可以去精易论坛上面找一个!能把数据读取出来就行!其它的后面慢慢来优化!

如有问题的话可以联系本人:

上一篇:今天将成为一个纪念日
下一篇:3 Buffers
相关文章

 发表评论

暂时没有评论,来抢沙发吧~