数据查询SELECT
13.2 SELECT查询语句
MySQL中使用SELECT关键字进行数据查询。SELECT语句提供了强大的查询功能,不仅能够查询数据表中的所有数据,还能够查询表中的单个列数据、指定列的数据,以及使用完全限定表名查询数据、使用别名查询数据。
13.2.1 查询表中所有字段的数据
MySQL查询表中所有的数据可以通过“SELECT * 通配符”或者“SELECT 所有字段”实现。
1.通过SELECT *通配符查询所有字段数据
语法格式如下:
SELECT * FROM table_name
语法格式说明如下:
·*:查询通配符,能够匹配数据表中的所有字段。
·table_name:数据表名称。
使用SELECT *通配符查询t_goods数据表中的所有数据。
mysql> SELECT * FROM t_goods;
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| id | t_category_id | t_category | t_name | t_price | t_stock | t_upper_time |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| 1 | 1 | 女装/女士精品 | T恤 | 39.90 | 1000 | 2020-11-10 00:00:00 |
| 2 | 1 | 女装/女士精品 | 连衣裙 | 79.90 | 2500 | 2020-11-10 00:00:00 |
| 3 | 1 | 女装/女士精品 | 卫衣 | 79.90 | 1500 | 2020-11-10 00:00:00 |
| 4 | 1 | 女装/女士精品 | 牛仔裤 | 89.90 | 3500 | 2020-11-10 00:00:00 |
| 5 | 1 | 女装/女士精品 | 百褶裙 | 29.90 | 500 | 2020-11-10 00:00:00 |
| 6 | 1 | 女装/女士精品 | 呢绒外套 | 399.90 | 1200 | 2020-11-10 00:00:00 |
| 7 | 2 | 户外运动 | 自行车 | 399.90 | 1000 | 2020-11-10 00:00:00 |
| 8 | 2 | 户外运动 | 山地自行车 | 1399.90 | 2500 | 2020-11-10 00:00:00 |
| 9 | 2 | 户外运动 | 登山杖 | 59.90 | 1500 | 2020-11-10 00:00:00 |
| 10 | 2 | 户外运动 | 骑行装备 | 399.90 | 3500 | 2020-11-10 00:00:00 |
| 11 | 2 | 户外运动 | 户外运动外套 | 799.90 | 500 | 2020-11-10 00:00:00 |
| 12 | 2 | 户外运动 | 滑板 | 499.90 | 1200 | 2020-11-10 00:00:00 |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
12 rows in set (0.00 sec)
查询结果显示,使用*通配符会返回数据表中的所有数据,并且返回数据中的字段顺序按照创建数据表时定义的字段顺序进行显示。
2.通过SELECT所有字段查询数据表中的所有数据
语法格式如下:
SELECT column1 [,column2, … ,columnn] FROM table_name
语法格式说明如下:
·column1 [,column2,…,columnn]:指定的查询字段列表。
·table_name:数据表名称。
通过指定所有字段查询t_goods数据表中的所有数据。
mysql> SELECT id, t_category_id, t_category, t_name, t_price, t_stock, t_upper_time FROM t_goods;
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| id | t_category_id | t_category | t_name | t_price | t_stock | t_upper_time |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| 1 | 1 | 女装/女士精品 | T恤 | 39.90 | 1000 | 2020-11-10 00:00:00 |
| 2 | 1 | 女装/女士精品 | 连衣裙 | 79.90 | 2500 | 2020-11-10 00:00:00 |
| 3 | 1 | 女装/女士精品 | 卫衣 | 79.90 | 1500 | 2020-11-10 00:00:00 |
| 4 | 1 | 女装/女士精品 | 牛仔裤 | 89.90 | 3500 | 2020-11-10 00:00:00 |
| 5 | 1 | 女装/女士精品 | 百褶裙 | 29.90 | 500 | 2020-11-10 00:00:00 |
| 6 | 1 | 女装/女士精品 | 呢绒外套 | 399.90 | 1200 | 2020-11-10 00:00:00 |
| 7 | 2 | 户外运动 | 自行车 | 399.90 | 1000 | 2020-11-10 00:00:00 |
| 8 | 2 | 户外运动 | 山地自行车 | 1399.90 | 2500 | 2020-11-10 00:00:00 |
| 9 | 2 | 户外运动 | 登山杖 | 59.90 | 1500 | 2020-11-10 00:00:00 |
| 10 | 2 | 户外运动 | 骑行装备 | 399.90 | 3500 | 2020-11-10 00:00:00 |
| 11 | 2 | 户外运动 | 户外运动外套 | 799.90 | 500 | 2020-11-10 00:00:00 |
| 12 | 2 | 户外运动 | 滑板 | 499.90 | 1200 | 2020-11-10 00:00:00 |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
12 rows in set (0.00 sec)
由此可以看出,通过指定t_goods数据表中的所有字段,也能够查询出所有字段的数据。
当通过指定字段查询数据时,查询语句中的字段顺序可以与创建数据表时定义的字段顺序不同,只需要指定需要查询的字段即可,查询结果中的数据与查询语句中的字段顺序对应。再次查询t_goods数据表中的数据。
mysql> SELECT id, t_category_id, t_category, t_name, t_price,t_upper_time,t_stock FROM t_goods;
+----+---------------+-----------------+-------------+---------+---------------------+---------+
| id | t_category_id | t_category | t_name | t_price | t_upper_time | t_stock |
+----+---------------+-----------------+-------------+---------+---------------------+---------+
| 1 | 1 | 女装/女士精品 | T恤 | 39.90 | 2020-11-10 00:00:00 | 1000 |
| 2 | 1 | 女装/女士精品 | 连衣裙 | 79.90 | 2020-11-10 00:00:00 | 2500 |
| 3 | 1 | 女装/女士精品 | 卫衣 | 79.90 | 2020-11-10 00:00:00 | 1500 |
| 4 | 1 | 女装/女士精品 | 牛仔裤 | 89.90 | 2020-11-10 00:00:00 | 3500 |
| 5 | 1 | 女装/女士精品 | 百褶裙 | 29.90 | 2020-11-10 00:00:00 | 500 |
| 6 | 1 | 女装/女士精品 | 呢绒外套 | 399.90 | 2020-11-10 00:00:00 | 1200 |
| 7 | 2 | 户外运动 | 自行车 | 399.90 | 2020-11-10 00:00:00 | 1000 |
| 8 | 2 | 户外运动 | 山地自行车 | 1399.90 | 2020-11-10 00:00:00 | 2500 |
| 9 | 2 | 户外运动 | 登山杖 | 59.90 | 2020-11-10 00:00:00 | 1500 |
| 10 | 2 | 户外运动 | 骑行装备 | 399.90 | 2020-11-10 00:00:00 | 3500 |
| 11 | 2 | 户外运动 | 户外运动外套 | 799.90 | 2020-11-10 00:00:00 | 500 |
| 12 | 2 | 户外运动 | 滑板 | 499.90 | 2020-11-10 00:00:00 | 1200 |
+----+---------------+-----------------+-------------+---------+---------------------+---------+
12 rows in set (0.00 sec)
在查询语句中,虽然t_upper_time字段与t_stock字段的顺序与创建t_goods数据表时定义的字段顺序不同,但是同样查询出了相应的数据。
注意:在实际业务或数据库开发中,除非特殊需要,最好不要使用“SELECT *”查询数据。因为在实际业务或数据库开发中,往往不会查询一张数据表中的所有数据,而使用“SELECT *”会查询数据表中的所有字段数据,这样会降低查询的效率。
13.2.2 查询表中单个字段的数据
查询单个列的数据,也就是查询数据表中单个字段的数据,只需要在SELECT查询语句后面跟上指定的单一字段名称即可。语法格式如下:
SELECT single_column FROM table_name
语法格式说明如下:
·single_column:指定的单一字段的名称。
·table_name:数据表名称。
查询t_goods数据表中t_name字段的数据。
mysql> SELECT t_name FROM t_goods;
+-----------------+
| t_name |
+-----------------+
| T恤 |
| 连衣裙 |
| 卫衣 |
| 牛仔裤 |
| 百褶裙 |
| 呢绒外套 |
| 自行车 |
| 山地自行车 |
| 登山杖 |
| 骑行装备 |
| 户外运动外套 |
| 滑板 |
+-----------------+
12 rows in set (0.00 sec)
查询结果中显示了t_goods数据表中t_name字段的所有数据。
13.2.3 查询表中指定字段的数据
查询表中指定字段的数据在本节中特指查询多个字段的数据。可以在SELECT关键字后面指定多个需要查询的字段名称,每个字段名称之间以逗号分隔即可。语法格式如下:
SELECT column1, column2, … , columnn FROM table_name
查询t_goods数据表中t_name、t_price和t_stock字段的数据。
mysql> SELECT t_name, t_price, t_stock FROM t_goods;
+-----------------+---------+---------+
| t_name | t_price | t_stock |
+-----------------+---------+---------+
| T恤 | 39.90 | 1000 |
| 连衣裙 | 79.90 | 2500 |
| 卫衣 | 79.90 | 1500 |
| 牛仔裤 | 89.90 | 3500 |
| 百褶裙 | 29.90 | 500 |
| 呢绒外套 | 399.90 | 1200 |
| 自行车 | 399.90 | 1000 |
| 山地自行车 | 1399.90 | 2500 |
| 登山杖 | 59.90 | 1500 |
| 骑行装备 | 399.90 | 3500 |
| 户外运动外套 | 799.90 | 500 |
| 滑板 | 499.90 | 1200 |
+-----------------+---------+---------+
12 rows in set (0.00 sec)
查询结果正确显示出了3个字段的所有数据。
13.2.4 使用完全限定字段名查询数据
限定列名指的是通过表名和字段名指定查询数据的字段,语法格式如下:
SELECT table_name.column1, table_name.column2, … , table_name.columnn
FROM table_name
通过语法格式可以看出,通过“表名.字段名”的形式可以限定字段名称。
使用限定字段名的形式查询t_goods数据表中的t_category_id字段和t_category字段。
mysql> SELECT t_goods.t_category_id, t_goods.t_category FROM t_goods;
+---------------+---------------------+
| t_category_id | t_category |
+---------------+---------------------+
| 1 | 女装/女士精品 |
| 1 | 女装/女士精品 |
| 1 | 女装/女士精品 |
| 1 | 女装/女士精品 |
| 1 | 女装/女士精品 |
| 1 | 女装/女士精品 |
| 2 | 户外运动 |
| 2 | 户外运动 |
| 2 | 户外运动 |
| 2 | 户外运动 |
| 2 | 户外运动 |
| 2 | 户外运动 |
+---------------+---------------------+
12 rows in set (0.00 sec)
通过完全限定数据表中字段的名称,正确查询出了t_category_id字段和t_category字段的数据。
13.2.5 使用完全限定表名查询数据
限定表名指的是在查询语句中的数据表名称前指定数据库名称,表明当前查询的数据表属于哪个数据库,语法格式如下:
SELECT * FROM database_name.table_name
或者
SELECT column1 [, column2, … , columnn]
FROM database_name.table_name
从语法格式可以看出,通过“数据库名.数据表名”的形式,能够限定数据表属于哪个数据库。
使用完全限定表名的形式查询t_goods数据表中t_name字段、t_price字段与t_upper_time字段的数据。
mysql> SELECT t_name, t_price, t_upper_time FROM goods.t_goods;
+-----------------+---------+---------------------+
| t_name | t_price | t_upper_time |
+-----------------+---------+---------------------+
| T恤 | 39.90 | 2020-11-10 00:00:00 |
| 连衣裙 | 79.90 | 2020-11-10 00:00:00 |
| 卫衣 | 79.90 | 2020-11-10 00:00:00 |
| 牛仔裤 | 89.90 | 2020-11-10 00:00:00 |
| 百褶裙 | 29.90 | 2020-11-10 00:00:00 |
| 呢绒外套 | 399.90 | 2020-11-10 00:00:00 |
| 自行车 | 399.90 | 2020-11-10 00:00:00 |
| 山地自行车 | 1399.90 | 2020-11-10 00:00:00 |
| 登山杖 | 59.90 | 2020-11-10 00:00:00 |
| 骑行装备 | 399.90 | 2020-11-10 00:00:00 |
| 户外运动外套 | 799.90 | 2020-11-10 00:00:00 |
| 滑板 | 499.90 | 2020-11-10 00:00:00 |
+-----------------+---------+---------------------+
12 rows in set (0.00 sec)
结果显示,正确查询出了t_goods数据表中t_name字段、t_price字段与t_upper_time字段的数据。
- 点赞
- 收藏
- 关注作者
评论(0)