1. 升降序

DESC:降序

ASC:升序

2. 通配符

%:替代 0 个或多个字符

_:替代一个字符

3. IN 操作符

选取 name 为 "Google" 或 "菜鸟教程" 的所有网站:

SELECT * FROM Websites
WHERE name IN ('Google','菜鸟教程');

4. 连接(JOIN)

把来自两个或多个表的行结合起来,基于这些表之间的共同字段

INNER JOIN:如果表中有至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

FULL JOIN:只要其中一个表中存在匹配,则返回行

5. UNION 操作符

用于合并两个或多个 SELECT 语句的结果集

如果允许重复的值,请使用 UNION ALL

6. 约束(Constraints)

NOT NULL - 非空

UNIQUE- 值唯一 UNIQUE (P_Id)

PRIMARY KEY- 主键 NOT NULL 和 UNIQUE 的结合。唯一标识

FOREIGN KEY- 外键

CHECK- 限制列中的值的范围 CHECK (P_Id>0)

DEFAULT- 规定没有给列赋值时的默认值 City varchar(255) DEFAULT 'Sandnes'

7. 索引

创建索引,以便更加快速高效地查询数据

CREATE INDEX index_name
ON table_name (column_name)

8. DROP

删除索引、表和数据库

删除索引:DROP INDEX index_name ON table_name

删除表:DROP TABLE table_name

删除数据库:DROP DATABASE database_name

9. ALTER TABLE

在已有的表中添加、删除或修改列

添加列:

ALTER TABLE table_name
ADD column_name datatype

删除列:

ALTER TABLE table_name
DROP COLUMN column_name

修改列:

10. AUTO INCREMENT 字段

新记录插入表中时生成一个唯一的数字

ID int NOT NULL AUTO_INCREMENT

11. 视图(Views)

视图是可视化的表,总是显示最新的数据!每当用户查询视图时,数据库引擎通过使用视图的 SQL 语句重建数据。

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

查询视图

SELECT * FROM view_name

12. exists

用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

EXISTS 指定一个子查询,检测行的存在。

理解:

在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,可以通过使用 EXISTS 条件句防止插入重复记录。

13. explain

使用EXPLAIN进行SQL语句效率的排查

主要关注:type列查找数据的方式

posted on 2021-07-02 14:44  smile学子  阅读(33)  评论(0编辑  收藏  举报