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( |
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 ( |
自动增量语法 |
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 |
子查询 |
SQL JOINS 命令
命令 | 描述 |
---|---|
SELECT * FROM table1 CROSS JOIN table2 |
交叉连接 |
SELECT table1.t1 , table1.t2 , table2.t1 |
INNER JOIN |
SELECT A.t1 , B.t2 , B.t3 |
LEFT JOIN |
SELECT A.t1 , A.t2, B.t3 |
正确加入 |
SELECT A.t1 , B.t2 , B.t3 |
“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; |
删除索引基本语法 |