CREATE INDEX index_name ON table_name (column_name)
DROP INDEX
1 2
DROP INDEX index_name ON table_name
WHERE
ORDER BY: 用于对结果集进行排序
1 2 3 4
SELECT column_name(s) FROM table_name WHEREcondition ORDERBY column_name [ASC|DESC]
GROUP BY: 用于将结果集按照一个或多个列进行分组,通常与聚合函数一起使用
1 2 3 4
SELECT column_name(s), aggregate_function(column_name) FROM table_name WHEREcondition GROUPBY column_name
HAVING: 用于对分组后的结果集进行筛选
1 2 3 4 5
SELECT column_name(s), aggregate_function(column_name) FROM table_name WHEREcondition GROUPBY column_name HAVING aggregate_function(column_name) condition
JOIN: 用于将多个表进行连接,并返回满足条件的行
1 2 3 4
SELECT column_name(s) FROM table_name1 JOIN table_name2 ON table_name1.column_name = table_name2.column_name
UNION: 用于将多个查询结果集进行合并
1 2 3
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
INTERSECT: 用于返回两个查询结果集的交集
1 2 3
SELECT column_name(s) FROM table_name1 INTERSECT SELECT column_name(s) FROM table_name2
EXCEPT: 用于返回第一个查询结果集中存在但在第二个查询结果集中不存在的行
1 2 3
SELECT column_name(s) FROM table_name1 EXCEPT SELECT column_name(s) FROM table_name2
DISTINCT: 用于返回唯一不同的值
1 2 3
SELECTDISTINCT column_name(s) FROM table_name WHEREcondition
BETWEEN: 用于筛选在某个范围内的值
IN: 用于筛选在某个列表中的值
1 2 3
SELECT*FROM Websites WHERE (alexa BETWEEN1AND20) AND country NOTIN ('USA', 'IND');
CREATE DATABASE
1
CREATE DATABASE database_name
DROP DATABASE
1
DROP DATABASE database_name
LIKE: 用于在 WHERE 子句中搜索列中的指定模式,要求整个字段的内容都匹配模式
1 2 3
SELECT column1, column2, ... FROM table_name WHERE column_name LIKEpattern;
pattern 可以包含以下通配符:
%:表示任意数量的字符(包括零个字符)
_:表示单个字符
WHERE name LIKE ‘Admin’:只会找名字刚好就是 “Admin” 的人。
WHERE name LIKE ‘% Admin%’:才能找到包含 “Admin” 的人。
REGEXP: 用于在 WHERE 子句中搜索列中的指定正则表达式模式,部分匹配(只要字符串里包含模式即可)
1 2 3
SELECT column1, column2, ... FROM table_name WHERE column_name REGEXP pattern;
WHERE name REGEXP ‘Admin’:会找到 “Admin”, “SuperAdmin”, “Admin123” 等所有包含这五个字母的记录。
如果你想让 REGEXP 像 LIKE 那样精确匹配开头和结尾,必须加符号:REGEXP ‘^Admin$’。 SELECT * FROM Websites WHERE name REGEXP '^[^A-H]'; 会找到所有名字以 A-H 以外的字母开头的网站。第一个表示匹配开头,第二个表示取反。