一、关键字SELECT FROM查询
1、使用SELECT * FROM 表名 查询表中所有列的数据
mysql> SELECT * FROM hat_province;
+----+------------+------------------+
| id | provinceID | province |
+----+------------+------------------+
| 1 | 110000 | 北京市 |
| 2 | 120000 | 天津市 |
| 3 | 130000 | 河北省 |
| 4 | 140000 | 山西省 |
| 5 | 150000 | 内蒙古自治区 |
| 6 | 210000 | 辽宁省 |
| 7 | 220000 | 吉林省 |
| 8 | 230000 | 黑龙江省 |
2、使用SELECT 列名,列明~~~ FROM 表名 查询表中个别列的所有数据
mysql> SELECT province FROM hat_province;
+------------------+
| province |
+------------------+
| 北京市 |
| 天津市 |
| 河北省 |
| 山西省 |
| 内蒙古自治区 |
| 辽宁省 |
| 吉林省 |
| 黑龙江省 |
二、使用AS关键字对指定列赋别名
mysql> SELECT province AS 省份 FROM hat_province;
+------------------+
| 省份 |
+------------------+
| 北京市 |
| 天津市 |
| 河北省 |
| 山西省 |
| 内蒙古自治区 |
| 辽宁省 |
| 吉林省 |
| 黑龙江省 |
三、使用SELECT FROM WHERE 进行条件过滤查询
1、用比较运算符 查询id=27的省份
mysql> SELECT * FROM hat_province WHERE id=27;
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 27 | 610000 | 陕西省 |
+----+------------+----------+
1 row in set
2、用LIKE关键字查询
1)查询省份名称中有‘北’字的省份
mysql> SELECT * FROM hat_province WHERE province LIKE '%北%';
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 1 | 110000 | 北京市 |
| 3 | 130000 | 河北省 |
| 17 | 420000 | 湖北省 |
+----+------------+----------+
3 rows in set
2)查询省份名称名称为‘湖*省’的省份(*为一个未知字符,有且只有一个)
province WHERE province LIKE '湖_省';
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 17 | 420000 | 湖北省 |
| 18 | 430000 | 湖南省 |
+----+------------+----------+
2 rows in set
3)使用ESCAPE关键字传意通配符
查询省份名称中带有‘_’符号的省份
mysql> SELECT * FROM hat_province WHERE province LIKE '%#_%' ESCAPE'#';
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 35 | 888888 | 港_城 |
+----+------------+----------+
1 row in set
3、用REGEXP关键字查询
1)查询省份名字中带有'湖'的省份
mysql> SELECT * FROM hat_province WHERE province REGEXP '湖';
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 17 | 420000 | 湖北省 |
| 18 | 430000 | 湖南省 |
+----+------------+----------+
2 rows in set
注意:如果用LIKE处理该问题,条件语句要写成WHERE province LIKE ‘%湖%’
4、使用BETWEEN~~~AND关键字查询
查询id在10到20的省份
mysql> SELECT * FROM hat_province WHERE id BETWEEN 10 AND 20;
+----+------------+----------------+
| id | provinceID | province |
+----+------------+----------------+
| 10 | 320000 | 江苏省 |
| 11 | 330000 | 浙江省 |
| 12 | 340000 | 安徽省 |
| 13 | 350000 | 福建省 |
| 14 | 360000 | 江西省 |
| 15 | 370000 | 山东省 |
| 16 | 410000 | 河南省 |
| 17 | 420000 | 湖北省 |
| 18 | 430000 | 湖南省 |
| 19 | 440000 | 广东省 |
| 20 | 450000 | 广西壮族自治区 |
+----+------------+----------------+
11 rows in set
5、用IN关键字查询
查询id在5,15,25中的省份
mysql> SELECT * FROM hat_province WHERE id IN (5,15,25);
+----+------------+--------------+
| id | provinceID | province |
+----+------------+--------------+
| 5 | 150000 | 内蒙古自治区 |
| 15 | 370000 | 山东省 |
| 25 | 530000 | 云南省 |
+----+------------+--------------+
3 rows in set
6、用IS (NOT) NULL关键字查询
查询provinceID为空的省份
mysql> SELECT * FROM hat_province WHERE provinceID IS NULL;
+----+------------+----------+
| id | provinceID | province |
+----+------------+----------+
| 36 | NULL | 空城 |
+----+------------+----------+
1 row in set