数据库的操作总结就是:增删改查(CURD),今天记录一下基础的检索查询工作。
检索MySQL
1.查询表中所有的记录
mysql> select * from apps; +----+------------+-----------------------+---------+ | id | app_name | url | country | +----+------------+-----------------------+---------+ | 1 | QQ APP | http://im.qq.com | CN | | 2 | 微博 APP | http://weibo.com | CN | | 3 | 淘宝 APP | http://www.taobao.com | CN | +----+------------+-----------------------+---------+ 3 rows in set (0.00 sec)
2. 查询表中某列(单列)的记录
mysql> select app_name from apps; +------------+ | app_name | +------------+ | QQ APP | | 微博 APP | | 淘宝 APP | +------------+ 3 rows in set (0.00 sec)
3.检索表中多列的记录,列名之间用逗号分开
mysql> select id, app_name from apps; +----+------------+ | id | app_name | +----+------------+ | 1 | QQ APP | | 2 | 微博 APP | | 3 | 淘宝 APP | +----+------------+ 3 rows in set (0.00 sec)
4.检索不重复的记录,distinct关键字
mysql> select * from apps; +----+------------+-----------------------+---------+ | id | app_name | url | country | +----+------------+-----------------------+---------+ | 1 | QQ APP | http://im.qq.com | CN | | 2 | 微博 APP | http://weibo.com | CN | | 3 | 淘宝 APP | http://www.taobao.com | CN | | 4 | QQ APP | http://im.qq.com | CN | +----+------------+-----------------------+---------+ 4 rows in set (0.00 sec) 上面表中是所有的数据,可以看到第1条和第4条数据是一样的,如果想要检索时不想出现重复的数据,可以使用distinct关键字,并且需要放在所有列的前面 mysql> select distinct app_name from apps; +------------+ | app_name | +------------+ | QQ APP | | 微博 APP | | 淘宝 APP | +------------+ 3 rows in set (0.00 sec)
5.限制检索记录的数量, limit关键字
mysql> select * from apps limit 2; +----+------------+------------------+---------+ | id | app_name | url | country | +----+------------+------------------+---------+ | 1 | QQ APP | http://im.qq.com | CN | | 2 | 微博 APP | http://weibo.com | CN | +----+------------+------------------+---------+ 2 rows in set (0.00 sec) limit后面可以跟两个值, 第一个为起始位置, 第二个是要检索的行数 mysql> select * from apps limit 1, 2; +----+------------+-----------------------+---------+ | id | app_name | url | country | +----+------------+-----------------------+---------+ | 2 | 微博 APP | http://weibo.com | CN | | 3 | 淘宝 APP | http://www.taobao.com | CN | +----+------------+-----------------------+---------+ 2 rows in set (0.00 sec)
6.limit关键字和offset配合使用
limit可以配合offset使用, 如limit 2 offset 1(从行1开始后的2行,默认行数的角标为0) mysql> select * from apps limit 2 offset 1; +----+------------+-----------------------+---------+ | id | app_name | url | country | +----+------------+-----------------------+---------+ | 2 | 微博 APP | http://weibo.com | CN | | 3 | 淘宝 APP | http://www.taobao.com | CN | +----+------------+-----------------------+---------+ 2 rows in set (0.00 sec)