MySQL必知必会---检索数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL必知必会---检索数据相关的知识,希望对你有一定的参考价值。

  1. select 语句
  2. 检索单个列
  3. 检索多个列
  4. 检索所有列
  5. 检索不同的行
  6. 限制结果
  7. 使用完全限定的表名

1.select语句
使用select检索表数据,必须至少给出两条信息-----想选择什么以及从什么地方选择。

2.检索单个列
MariaDB [test]> select age from user;
+------+
| age |
+------+
| 22 |
| 25 |
| 56 |
| 14 |
| 36 |
| 68 |
| 45 |
| 17 |
| 33 |
| 27 |
| 29 |
| 70 |
| 24 |
+------+

注意: 默认情况下查询结果并未进行排序,结束SQL语句必须以分号(;)分隔,SQL语句不区分大小写。

建议:为了方便阅读以及调试建议把sql语句分行。

3.检索多个列
MariaDB [test]> select *
-> from user;
+----+------+------+----------+
| id | sex | age | province |
+----+------+------+----------+
| 1 | 1 | 22 | 北京 |
| 2 | 0 | 25 | 广东 |
| 3 | 0 | 56 | 天津 |
| 4 | 1 | 14 | 北京 |
| 5 | 0 | 36 | 广东 |
| 6 | 1 | 68 | 湖南 |
| 7 | 1 | 45 | 北京 |
| 8 | 1 | 17 | 河北 |
| 9 | 2 | 33 | 天津 |
| 10 | 1 | 27 | 湖南 |
| 11 | 1 | 29 | 北京 |
| 12 | 2 | 70 | 广东 |
| 13 | 0 | 24 | 北京 |
+----+------+------+----------+
13 rows in set (0.00 sec)

  1. 检索所有列
    提示:通配符(*)表示所有列

MariaDB [test]> select *
-> from user
-> ;
+----+------+------+----------+
| id | sex | age | province |
+----+------+------+----------+
| 1 | 1 | 22 | 北京 |
| 2 | 0 | 25 | 广东 |
| 3 | 0 | 56 | 天津 |
| 4 | 1 | 14 | 北京 |
| 5 | 0 | 36 | 广东 |
| 6 | 1 | 68 | 湖南 |
| 7 | 1 | 45 | 北京 |
| 8 | 1 | 17 | 河北 |
| 9 | 2 | 33 | 天津 |
| 10 | 1 | 27 | 湖南 |
| 11 | 1 | 29 | 北京 |
| 12 | 2 | 70 | 广东 |
| 13 | 0 | 24 | 北京 |
+----+------+------+----------+
13 rows in set (0.00 sec)

5.检索不同的行

注意关键字(DISTINCT)

MariaDB [test]> select distinct age from user;
+------+
| age |
+------+
| 22 |
| 25 |
| 56 |
| 14 |
| 36 |
| 68 |
| 45 |
| 17 |
| 33 |
| 27 |
| 29 |
| 70 |
| 24 |
+------+
13 rows in set (0.00 sec)

提示:使用distinct关键字,必须直接放在列名之前。

6.限制结果
关键字(limit)

MariaDB [test]> select age from user
-> limit 5;
+------+
| age |
+------+
| 22 |
| 25 |
| 56 |
| 14 |
| 36 |
+------+
5 rows in set (0.00 sec)

注意下面的语句:

MariaDB [test]> select age
-> from user
-> limit 5,5;
+------+
| age |
+------+
| 68 |
| 45 |
| 17 |
| 33 |
| 27 |
+------+
5 rows in set (0.00 sec)

提示:检索结果的第一行为行0,而不是行1, limit 5,5 则是表示从第5行开始的5行!!!

7.使用完全限定的表名
MariaDB [test]> select user.age
-> from user
-> limit 3,4;
+------+
| age |
+------+
| 14 |
| 36 |
| 68 |
| 45 |
+------+
4 rows in set (0.00 sec)

提示:使用完全限定的表名可以更加直观的看出操作的是那个表,或者是那个数据库。

以上是关于MySQL必知必会---检索数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL必知必会(第五版)

Mysql必知必会 检索数据

MySQL必知必会

mysql必知必会--排序检索数据

MySQL必知必会第6章 过滤数据

读MYSQL必知必会的总结