SQL 速查表及命令 & Descript离子 (2025)

创建数据库和表命令

命令 描述
CREATE DATABASE DATABASE; 创建数据库
CREATE DATABASE IF NOT EXISTS database1; 如果不存在让你指导 MySQL 服务器在创建数据库之前检查是否存在具有相似名称的数据库。
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci Latin1 字符集使用 latin1_swedish_ci 排序规则,即瑞典语不区分大小写的顺序。
SHOW DATABASES 您可以通过运行以下 SQL 命令查看现有数据库的列表。
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; 创建表语法

SQL 数据类型速查表

数字数据类型

命令 描述
TINYINT( ) -128 至 127 正常 0 至 255 无符号。
SMALLINT( ) -32768 至 32767 正常
0 至 65535 无符号。
MEDIUMINT( ) -8388608 至 8388607 正常
0 至 16777215 无符号。
INT( ) -2147483648 至 2147483647 正常
0 至 4294967295 无符号。
BIGINT( ) -9223372036854775808 至 9223372036854775807 正常
0 至 18446744073709551615 无符号。
FLOAT 带有浮动小数点的小近似数。
DOUBLE( , ) 具有浮动小数点的大数。
DECIMAL( , ) 以字符串形式存储的 DOUBLE,允许固定小数点。用于存储货币值的选择。

文本数据类型

命令 描述
CHAR( ) 长度为 0 至 255 个字符的固定部分。
VARCHAR( ) 长度从 0 到 255 个字符的可变部分。
TINYTEXT 最大长度为 255 个字符的字符串。
TEXT 最大长度为 65535 个字符的字符串。
BLOB 最大长度为 65535 个字符的字符串。
MEDIUMTEXT 最大长度为 16777215 个字符的字符串。
MEDIUMBLOB 最大长度为 16777215 个字符的字符串。
LONGTEXT 最大长度为 4294967295 个字符的字符串。
LONGBLOB 最大长度为 4294967295 个字符的字符串。

日期/时间数据类型

命令 描述
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:MM:SS
TIMESTAMP YYYYMMDDHHMMSS
TIME 时:分:秒

其他数据类型

命令 描述
ENUM 存储从预定义文本值列表中选择的文本值。
SET 这也用于存储从预定义文本值列表中选择的文本值。它可以有多个值。
BOOL TINYINT(1) 的同义词,用于存储布尔值
BINARY 与 CHAR 类似,不同之处在于文本以二进制格式存储。
VARBINARY 与 VARCHAR 类似,不同之处在于文本以二进制格式存储。

SQL SELECT 语句命令

命令 描述
SELECT * FROM table1; 选择表格
SELECT t1,t2,t3, t4 FROM table1; 我们仅对获取 t1、t2、t3 和 t4 字段感兴趣。
SELECT Concat(t1, (, t3, )) , t4 FROM table2; 获取 table2 列表
SELECT column_name|value|expression [AS] alias_name; 别名字段名称语法

带有 AND、OR、IN、NOT IN 命令的 SQL WHERE 子句

命令 描述
SELECT * FROM tableName WHERE condition; WHERE 子句语法
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE 子句与 AND LOGICAL 结合使用 Opera器
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE 子句与 – OR LOGICAL 结合 Opera器
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE 子句与 – IN 关键字结合
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE 子句与 – NOT IN 关键字结合
SELECT * FROM table2 WHERE t3 = Female; WHERE 子句与 Equal(=) 结合使用以用于比较运算符
SELECT * FROM table3 WHERE t3 > 2000; WHERE 子句与大于 (>) 结合使用以作为比较运算符
SELECT * FROM table1 WHERE t1<> 1; WHERE 子句与不等于 (<>) 比较运算符结合使用

SQL 命令 INSERT INTO 表

命令 描述
INSERT INTO table_name(column_1,column_2,...) VALUES (value_1,value_2,...); SQL INSERT 命令的基本语法
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); 将数据插入表中
INSERT INTO table_1 SELECT * FROM table_2; 从另一个表插入到一个表中

SQL DELETE 命令

命令 描述
DELETE FROM table_name [WHERE condition]; 删除一行 MySQL

SQL更新命令

命令 描述
UPDATE table_name SET column_name = new_value [WHERE condition]; 更新命令语法

SQL 中的 ORDER BY:DESC 和 ASC 命令

命令 描述
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; Order by 子句基本语法
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N] DESC 和 ASC 语法

SQL GROUP BY 和 HAVING 子句命令

通过...分组

命令 描述
SELECT statements... GROUP BY column_name1[,column_name2,...] [HAVING condition]; GROUP BY 语法

分组和聚合函数

命令 描述
SELECT t2,COUNT(t1) FROM table1 GROUP BY t2; 假设我们想要数据库中 t2 列值的总数。

HAVING 子句

命令 描述
SELECT * FROM table2 GROUP BY t1_id,t4 HAVING t1_id = x1; 表 4 t2 id x1 的所有 t1。我们将使用以下脚本来实现我们的结果。

SQL 通配符命令为 Like、NOT Like、Escape、( %)、( _ )

% 百分比通配符命令 MySQL

命令 描述
SELECT statements... WHERE fieldname LIKE xxx%; % 百分比通配符的基本语法

_ 下划线通配符命令

命令 描述
SELECT * FROM table1 WHERE t3 LIKE x2_; 所有在“x1”年处于 t3 状态的 table2

不像通配符命令

命令 描述
SELECT * FROM table1 WHERE t3 NOT LIKE X2_; 假设我们想要获取 X1 年中不是 t3 的表 2_

转义关键字通配符命令

命令 描述
LIKE 67#%% ESCAPE #; 我们要检查字符串“67%”

SQL 正则表达式 (REGEXP)

命令 描述
SELECT statements... WHERE fieldname REGEXP pattern; 正则表达式的基本语法

正则表达式元字符

命令 描述
* 星号 (*) 元字符用于匹配其前面的字符串的零 (0) 个或更多实例
+ 加号 (+) 元字符用于匹配其前面的一个或多个字符串实例。
? 问题(?)元字符用于匹配其前面的字符串的零 (0) 个或一个实例。
. 点(.)元字符用于匹配除换行符之外的任何单个字符。
[abc] 字符列表 [abc] 用于匹配任意括起来的字符。
[^abc] 字符列表 [^abc] 用于匹配除括号内的字符之外的任何字符。
[A-Z] [AZ] 用于匹配任意大写字母
[a-z] [az] 用于匹配任意小写字母
[0-9] [0-9] 用于匹配从 0 到 9 的任意数字。
^ 插入符号 (^) 用于从头开始匹配。
| 竖线(|)用于隔离选项。
[[:<:]] [[:<:]] 匹配单词的开头。
[[:>:]] [[:>:]] 匹配单词的结尾。
[:class:] [:class:] 匹配一个字符类,即 [:alpha:] 匹配字母,[:space:] 匹配空格,[:punct:] 匹配标点符号,[:upper:] 匹配大写字母。

SQL 函数命令

字符串函数

命令 描述
SELECT t1_id,t2, UCASE(t2) FROM table1; “UCASE” 函数可以实现这一点。它以字符串为参数,并将所有字母转换为大写。

数值函数

命令 描述 例如:
DIV 整数除法 选择 23 DIV 6;
/ 您所属的事业部 选择 23 / 6;
- 减法 选择 23 – 6;
+ 增加 选择 23 + 6;
* 乘法 选择 23 * 6 作为乘法结果;
% or MOD 系数 选择 23 % 6;或选择 23 MOD 6;
Floor 此函数删除数字的小数位并将其四舍五入为最接近的最小数字。 选择 FLOOR(23 / 6) 作为 floor_result;
Round 此函数将带有小数位的数字四舍五入为最接近的整数。 选择 ROUND(23 / 6) 作为 round_result;

存储函数

命令 描述
CREATE FUNCTION sf_name ([parameter(s)]) 创建存储函数的基本语法
CREATE FUNCTION sf_name ([parameter(s)]) 强制性规定 MySQL 服务器创建一个名为“sf_name”的函数,并在括号中定义可选参数。
RETURNS data type 强制性的,指定函数应返回的数据类型。
DETERMINISTIC 如果向该函数提供相同的参数,该函数将返回相同的值。
STATEMENTS 函数执行的程序代码。

SQL 聚合函数命令

命令 描述
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; COUNT功能
SELECT MIN(t3) FROM table2; MIN功能
SELECT MAX(t3) FROM table2; MAX功能
SELECT SUM(t4) FROM table3; SUM功能
SELECT AVG(t4) FROM table3; AVG function

SQL IS NULL 和 IS NOT NULL 命令

命令 描述
SELECT COUNT(t3) FROM table1; Null 作为值
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255) ,
t3 varchar(6)
);
NOT NULL 值
comlumn_name IS NULL
comlumn_name NOT NULL
NULL 关键字 基本语法
SELECT * FROM table1 WHERE t2_number IS NULL; IS NULL 的示例
SELECT * FROM table1 WHERE t2_number IS NOT NULL; IS NOT NULL 的示例

SQL AUTO_INCREMENT 命令

命令 描述
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
自动增量语法

SQL — ALTER、DROP、RENAME、MODIFY

命令 描述
ALTER TABLE table_name ADD COLUMN column_name data_type; 改变语法
DROP TABLE sample_table; DROP TABLE 语法
RENAME TABLE current_table_name TO new_table_name; RENAME COMMAND 语法
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; 更改关键字
ALTER TABLE table1MODIFY t1name char(50) NOT NULL; 修改关键字
ALTER TABLE table1 ADD t4 date NULL AFTER t3; 关键词之后

SQL 限制和偏移

命令 描述
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT 关键字语法
SELECT * FROM table1 LIMIT 1, 2; LIMIT 查询中的 OFF SET

SQL 子查询命令:

命令 描述
SELECT t1_name FROM table1 WHERE
category_id =( SELECT MIN(t1_id) from table2);
子查询

SQL JOINS 命令

命令 描述
SELECT * FROM table1 CROSS JOIN table2 交叉连接
SELECT table1.t1 , table1.t2 , table2.t1
FROM table1 ,table2
WHERE table2.id = table1.table2_id
INNER JOIN
SELECT A.t1 , B.t2 , B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id
LEFT JOIN
SELECT A.t1 , A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id
正确加入
SELECT A.t1 , B.t2 , B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING ( table2_id )
“ON” 和 “USING” 子句

SQL UNION 命令

命令 描述
SELECT column1, column2 FROM table1 UNION 语法
SELECT column1,column2 FROM table2; 联合不同

视图中的 SQL 命令

命令 描述
CREATE VIEW view_name AS SELECT statement; 视图语法
DROP VIEW general_v_movie_rentals; 删除视图

SQL 索引命令

命令 描述
CREATE INDEX id_index ON table_name(column_name); 添加索引基本语法
DROP INDEX index_id ON table_name; 删除索引基本语法