点击「格式化」或「压缩」后,结果将显示在此处
下面是极速工具给你整理部分常用命令,并补充了一下简短示例、关键点、注意事项,区分标准通用与数据库特有差异
语法
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name [ASC|DESC]
column_name(s):查询列,*代表全部列table_name:表名WHERE condition:筛选条件(可选)ORDER BY:排序,ASC升序(默认),DESC降序(可选)示例
-- 查询指定列
SELECT id,name FROM user WHERE age>18 ORDER BY id DESC;
-- 查询去重
SELECT DISTINCT age FROM user;
语法
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
示例
INSERT INTO user(name,age) VALUES ('张三',22);
⚠️注意:多值
VALUES (),(),()是MySQL扩展;旧版MSSQL不支持。
语法
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition
示例
UPDATE user SET age=23,name='李四' WHERE id=1;
⚠️高危:省略WHERE会更新整张表所有行。
语法
DELETE FROM table_name WHERE condition
示例
DELETE FROM user WHERE id=5;
⚠️高危:省略WHERE删除全表数据;不会重置自增。清空表可用
TRUNCATE TABLE table_name。
CREATE DATABASE db_name;
-- 修改字符集等属性,不同数据库参数不一样
ALTER DATABASE db_name CHARACTER SET utf8;
语法
CREATE TABLE table_name (
column1 data_type constraint,
column2 data_type constraint,
...
)
data_type:数据类型 INT,VARCHAR(n),DATETIMEconstraint约束:PRIMARY KEY、NOT NULL、UNIQUE示例
CREATE TABLE user(
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL
);
⚠️自增:MySQL用
AUTO_INCREMENT;MSSQL用IDENTITY(1,1),不属于标准SQL。
ALTER TABLE table_name ADD column_name data_type;
ALTER TABLE table_name DROP COLUMN column_name;
修改字段类型/字段名语法 MySQL与MSSQL有差异。
DROP TABLE table_name;
直接删除表结构+所有数据,不可恢复。
CREATE INDEX index_name ON table_name (column_name);
作用:提升查询速度,会降低写入性能。
-- MySQL写法
DROP INDEX index_name ON table_name;
-- MSSQL写法:DROP INDEX table_name.index_name
⚠️
DROP INDEX语法MySQL和MSSQL略有区别。
SELECT * FROM user WHERE age>18 AND name <> '';
SELECT * FROM user ORDER BY age ASC, id DESC;
搭配聚合函数:COUNT()、SUM()、AVG()、MAX()、MIN()
SELECT age,COUNT(*) total FROM user WHERE age>10 GROUP BY age;
SELECT age,COUNT(*) total FROM user GROUP BY age HAVING COUNT(*) > 2;
区别:WHERE过滤原始行;HAVING过滤分组后的结果。
SELECT DISTINCT age FROM user;
SELECT t1.*,t2.*
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.t1_id;
INNER JOIN:内连接,两边匹配的数据LEFT JOIN:左连接,左表全部,右表匹配不到为NULLRIGHT JOIN:右连接FULL JOIN:全连接(MySQL不支持FULL JOIN,MSSQL支持)FROM → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT/TOP
LIMIT(MySQL) / TOP(MSSQL)不是标准SQL,跨库要避开。
反引号、[]方括号标识符。COALESCE(col,'默认值'),替代IFNULL / ISNULL。CASE WHEN,不要用MySQL的IF()函数。LIMIT / TOP,业务层处理。SQL 格式化/压缩工具支持哪些功能?
支持哪些数据库方言?
关键字大小写转换会改变表名或字段名吗?
格式化会改变 SQL 的执行结果吗?
压缩时会删除注释吗?
数据会上传到服务器吗?
格式化后仍报语法错误怎么办?
压缩和 gzip 有什么区别,都要做吗?