演示数据库
mysql> SELECT * FROM Websites;
+----+---------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+---------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鸟教程 | http://www.runoob.com/ | 5000 | USA |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+---------------------------+-------+---------+
SQL SELECT LIMIT 子句
定义:
SELECT LIMIT 子句用于规定要返回的记录数目。
语法:
SELECT column_name(s)
FROM table_name
LIMIT number;
示例:
SELECT * FROM Websites LIMIT 2;
SQL 通配符
定义:
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
通配符类型如下:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] |
不在 |
使用 SQL % 通配符
选取所有以字母 ‘https’ 开头的所有网站
SELECT * FROM Websites WHERE url LIKE 'https%';
选取所有包含 ‘%oo%’ 的网站;
SELECT * FROM Websites WHERE url LIKE '%oo%';
使用 SQL _ 通配符
选取 name 以一个任意字符开始,然后是 ”oogle“ 的所有用户:
SELECT * FROM Websites WHERE name LIKE '_oogle';
使用 SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符(或 RLIKE 和 NOT RLIKE)来操作正则表达式。
选取 name 以 ”G“、”F“ 和 ”s“ 开始的所有网站:
SELECET * FROM Websites WHERE name RLIKE ‘^[GFs]‘;
SQL IN 操作符
定义:
IN 操作符允许在 WHERE 子句中规定多个值。
语法:
SELECT column_name (s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
示例:
SELECT * FROM Websites WHERE name IN ('Google', '菜鸟教程');
SQL BETWEEN 操作符
定义:
BETWEEN 操作符用于选取介于两个值之间的数据范围的值。
语法:
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
示例:
BETEEN 操作符:
选取 alexa 介于 1 和 20 之间的所有网站:
SELECT * FROM Websites WHERE alexa BETEEN 1 AND 20;
带有 IN 的 BETWEEN 操作符:
选取 alexa 介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:
SELECT * FROM Websites WHERE (alexa BETWEEN 1 AND 20) AND country NOT IN ('USA', 'IND');
带有文本值的 BETWEEN 操作符:
选取 name 以介于 'A' 和 'H' 之间字母开始的所有网站:
SELECT * FROM Websites WHERE name BETWEEN 'A' AND 'H';
SQL 别名
定义:
通过使用 SQL ,可以为表名称或列名称指定别名。
语法:
列别名用法:
SELECT column_name AS alias_name
FROM table_name;
表别名用法:
SELECT column_name
FROM table_name AS alias_name;
示例:
把三个列(url、alexa 和 country)结合在一起,并创建一个名为 "site_info" 的别名:
SELECT name, CONCAT(url, ',', alexa ',', country) AS site_info FROM Websites;
参考链接:https://www.runoob.com/sql