MySQL 命令速查


教程地址

SQL语句对大小写不敏感

基础语法

SELECT 列名称 FROM 表名称

DISTINCT 用语返回唯一的值

SELECT DISTINCT 列名称 FROM 表名称

WHERE 有条件从表中选取数据

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

操作符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式

ANDOR 运算符是基于一个以上条件对记录进行过滤

ORDER BY 语句用于对结果集进行升序排序,如降序进行排序,可以使用 DESC 关键字

INSERT INTO 向表格中插入新的行

INSERT INTO 表名称 VALUES (值1,值2,…)

INSERT INTO 表名称 (列1,列2,…) VALUES (值1,值2,…)

UPDATE 修改表中的数据

UPDATE 表名称 SET 列名称=新值 WHERE 列名称=新值

DELETE 删除表中的行

DELETE FROM 表名称 WHERE 列名称=值

高级语法

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式("%" 可用于定义通配符)

SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE 模式

%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符
[^charlist]
[!charlist]
不在字符列中的任何单一字符

IN 操作符允许我们在 WHERE 子句中规定多个值

SELECT 列名称 FROM 表名称 WHERE 列名称 IN (值1,值2,…)

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围

SELECT 列名称 FROM 表名称 WHERE 列名称 BETWEEN 值1 AND 值2

Alias 别名

SELECT 列名称 FROM 表名称 AS 别名

SELECT 列名称 AS 别名 FROM 表名

JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据

SELECT A.a, A.b, B.a FROM A JOIN B ON A.id=B.id

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

UNION 操作符用于合并两个或多个 SELECT 语句的结果集

UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL

SELECT 列名 FROM 表名 UNION SELECT 列名 FROM 表名

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中

SELECT 列名 INTO 新表名 FROM 旧表名

CREATE DATABASE 用于创建数据库

CREATE DATABASE 数据库名

CREATE TABLE 语句用于创建数据库中的表

CREATE TABLE 表名 (列名 类型,列名 类型);

SQL 约束用于限制加入表的数据的类型

  • NOT NULL 约束强制列不接受 NULL
  • UNIQUE 约束唯一标识数据库表中的每条记录
  • PRIMARY KEY 主键必须包含唯一的值,主键列不能包含 NULL
  • FOREIGN KEY 指向另一个表中的 PRIMARY KEY,约束用于预防破坏表之间连接的动作
  • CHECK 约束用于限制列中的值的范围
  • DEFAULT 约束用于向列中插入默认值

CREATE INDEX 语句用于在表中创建索引

CREATE INDEX 索引名 ON 表名(列名)

DROP 语句,可以轻松地删除索引、表和数据库

DROP INDEX 列名.索引名

DROP TABLE 表名

DROP DATABASE 库名

删除表内数据,不删除表本身

TRUNCATE TABLE 表名称

ALTER TABLE 语句用于在已有的表中添加、修改或删除列

ALTER TABLE 表名 ADD 列名 类型

ALTER TABLE 表名 ALTER COLUMN 列名 类型

ALTER TABLE 表名 DROP COLUMN 列名

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

SQL VIEW 视图是可视化的表

CREATE VIEW 图名 AS SELECT 列名 FROM 表名 WHERE 条件

CREATE OR REPLACE VIEW 图名 AS SELECT 列名 FROM 表名 WHERE 条件

DROP VIEW 图名

SQL Date 函数

函数描述
NOW()返回当前的日期和时间
CURDATE()返回当前的日期
CURTIME()返回当前的时间
DATE()提取日期或日期/时间表达式的日期部分
EXTRACT()返回日期/时间按的单独部分
DATE_ADD()给日期添加指定的时间间隔
DATE_SUB()从日期减去指定的时间间隔
DATEDIFF()返回两个日期之间的天数
DATE_FORMAT()用不同的格式显示日期/时间

NULL 值是遗漏的未知数据

MySQL 数据类型(文本、数字和日期/时间类型)

SQL 函数

  • Aggregate 函数
  • Scalar 函数



SELECT funCtion(列) FROM 表

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组

SELECT 列名,function() FROM 表名 WHERE 列名 GROUP BY 列名

HAVING 增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用

SELECT 列名,function() FROM 表名 WHERE 列名 GROUP BY 列名 HAVING function()

关键字索引Reference