2026-05-22 04:03:02
MySQL语法总结如下:
数据查询(SELECT):
基本查询:SELECT * FROM 表名
条件查询:SELECT * FROM 表名 WHERE 条件
排序:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC
分组:SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名
聚合函数:SELECT SUM(列名), AVG(列名), MIN(列名), MAX(列名) FROM 表名
连接查询:SELECT * FROM 表1 JOIN 表2 ON 表1.列名 = 表2.列名
子查询:SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件)
分页查询:SELECT * FROM 表名 LIMIT 偏移量, 行数
去重查询:SELECT DISTINCT 列名 FROM 表名
字符串拼接:SELECT CONCAT(字符串1, 字符串2) FROM 表名
字符串分割:SELECT SPLIT(字符串, 分隔符) FROM 表名
条件判断:SELECT CASE WHEN 条件 THEN 结果1 ELSE 结果2 END FROM 表名
日期差计算:SELECT DATEDIFF(日期1, 日期2) FROM 表名
数据操作(DML):
插入数据:INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2)
更新数据:UPDATE 表名 SET 列名 = 值 WHERE 条件
删除数据:DELETE FROM 表名 WHERE 条件
数据定义(DDL):
创建数据库:CREATE DATABASE 数据库名
创建表:CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型)
修改表结构:ALTER TABLE 表名 ADD/DROP/MODIFY COLUMN 列名 数据类型
删除表:DROP TABLE 表名
创建索引:CREATE INDEX 索引名 ON 表名 (列名)
删除索引:ALTER TABLE 表名 DROP INDEX 索引名
清空表数据:TRUNCATE TABLE 表名
高级查询:
统计不同值的个数:SELECT COUNT(DISTINCT 列名) FROM 表名
使用HAVING子句过滤分组结果:SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 数值
多表连接查询:SELECT * FROM 表1 JOIN 表2 ON 表1.列名 = 表2.列名 JOIN 表3 ON 表2.列名 = 表3.列名
使用别名:SELECT 列名 AS 别名 FROM 表名
使用TOP/LIMIT限制返回行数:SELECT TOP 10 * FROM 表名 或 SELECT * FROM 表名 LIMIT 10
使用通配符:SELECT * FROM 表名 WHERE 列名 LIKE '模式'
使用BETWEEN AND:SELECT * FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2
使用IN:SELECT * FROM 表名 WHERE 列名 IN (值1, 值2, 值3)
使用OR和AND组合条件:SELECT * FROM 表名 WHERE 条件1 OR 条件2 AND 条件3
日期和时间函数:
获取当前日期和时间:SELECT NOW()
获取当前日期:SELECT CURDATE()
获取当前时间:SELECT CURTIME()
提取日期部分:SELECT DATE(日期时间列名) FROM 表名
提取时间部分:SELECT TIME(日期时间列名) FROM 表名
日期格式化:SELECT DATE_FORMAT(日期时间列名, '格式字符串') FROM 表名
日期加减:SELECT DATE_ADD(日期时间列名, INTERVAL 值 单位) FROM 表名 或 SELECT DATE_SUB(日期时间列名, INTERVAL 值 单位) FROM 表名
数学函数:
四舍五入:SELECT ROUND(数值列名, 小数位数) FROM 表名
取绝对值:SELECT ABS(数值列名) FROM 表名
取余数:SELECT MOD(数值列名1, 数值列名2) FROM 表名
幂运算:SELECT POW(数值列名1, 数值列名2) FROM 表名
平方根:SELECT SQRT(数值列名) FROM 表名
随机数:SELECT RAND()
流程控制函数:
IF函数:SELECT IF(条件, 结果1, 结果2) FROM 表名
IFNULL函数:SELECT IFNULL(列名, 默认值) FROM 表名
NULLIF函数:SELECT NULLIF(列名1, 列名2) FROM 表名
COALESCE函数:SELECT COALESCE(列名1, 列名2, ..., 默认值) FROM 表名
系统函数:
获取用户变量:SELECT @变量名
设置用户变量:SET @变量名 = 值
获取会话变量:SELECT @@session.变量名
获取全局变量:SELECT @@global.变量名
获取版本信息:SELECT VERSION()
获取连接ID:SELECT CONNECTION_ID()
获取当前用户:SELECT CURRENT_USER()
获取最后插入的ID:SELECT LAST_INSERT_ID()
存储过程和函数:
创建存储过程:
DELIMITER //CREATE PROCEDURE 过程名(参数列表)BEGIN -- 过程体END //DELIMITER ;调用存储过程:CALL 过程名(参数列表)
创建函数:
DELIMITER //CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN -- 函数体 RETURN 值;END //DELIMITER ;调用函数:SELECT 函数名(参数列表)
触发器:
创建触发器:
DELIMITER //CREATE TRIGGER 触发器名BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名FOR EACH ROWBEGIN -- 触发器逻辑END //DELIMITER ;删除触发器:DROP TRIGGER 触发器名
视图:
创建视图:CREATE VIEW 视图名 AS SELECT 语句
查询视图:SELECT * FROM 视图名
修改视图:ALTER VIEW 视图名 AS SELECT 语句
删除视图:DROP VIEW 视图名
事务控制:
开始事务:START TRANSACTION
提交事务:COMMIT
回滚事务:ROLLBACK
设置保存点:SAVEPOINT 保存点名
回滚到保存点:ROLLBACK TO 保存点名
释放保存点:RELEASE SAVEPOINT 保存点名
锁:
共享锁(读锁):SELECT * FROM 表名 WHERE 条件 LOCK IN SHARE MODE
排他锁(写锁):SELECT * FROM 表名 WHERE 条件 FOR UPDATE
手动加锁表:LOCK TABLES 表名 READ/WRITE
解锁表:UNLOCK TABLES
性能优化:
使用EXPLAIN分析查询:EXPLAIN SELECT 语句
使用索引提示:SELECT * FROM 表名 USE INDEX(索引名) WHERE 条件
强制使用索引:SELECT * FROM 表名 FORCE INDEX(索引名) WHERE 条件
忽略索引:SELECT * FROM 表名 IGNORE INDEX(索引名) WHERE 条件
备份与恢复:
使用mysqldump备份:mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
恢复备份:mysql -u 用户名 -p 数据库名 < 备份文件.sql
权限管理:
创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'
授予权限:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'
撤销权限:REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名'
刷新权限:FLUSH PRIVILEGES
删除用户:DROP USER '用户名'@'主机名'
字符集和排序规则:
设置字符集:SET NAMES '字符集名'
创建数据库时指定字符集:CREATE DATABASE 数据库名 CHARACTER SET 字符集名 COLLATE 排序规则名
创建表时指定字符集:CREATE TABLE 表名 (列定义) CHARACTER SET 字符集名 COLLATE 排序规则名
修改数据库字符集:ALTER DATABASE 数据库名 CHARACTER SET 字符集名 COLLATE 排序规则名
修改表字符集:ALTER TABLE 表名 CONVERT TO CHARACTER SET 字符集名 COLLATE 排序规则名
分区表:
创建分区表:
CREATE TABLE 表名 ( 列定义) PARTITION BY 分区类型(分区函数) ( PARTITION 分区名 VALUES LESS THAN (值), PARTITION 分区名 VALUES LESS THAN (值), ...);添加分区:ALTER TABLE 表名 ADD PARTITION (PARTITION 分区名 VALUES LESS THAN (值))
删除分区:ALTER TABLE 表名 DROP PARTITION 分区名
重组分区:ALTER TABLE 表名 REORGANIZE PARTITION 分区名 INTO (PARTITION 新分区名 VALUES LESS THAN (值))
全文索引:
创建全文索引:CREATE FULLTEXT INDEX 索引名 ON 表名(列名)
使用全文索引查询:SELECT * FROM 表名 WHERE MATCH(列名) AGAINST('搜索词')
修改全文索引:ALTER TABLE 表名 DROP INDEX 索引名, ADD FULLTEXT INDEX 索引名(列名)
JSON数据类型:
创建包含JSON列的表:CREATE TABLE 表名 (列名 JSON)
插入JSON数据:INSERT INTO 表名 VALUES ('{"key": "value"}')
查询JSON数据:SELECT 列名->'$.key' FROM 表名
更新JSON数据:UPDATE 表名 SET 列名 = JSON_SET(列名, '$.key', '新值') WHERE 条件
删除JSON数据中的键:UPDATE 表名 SET 列名 = JSON_REMOVE(列名, '$.key') WHERE 条件
空间数据类型:
创建包含空间列的表:CREATE TABLE 表名 (列名 GEOMETRY)
插入空间数据:INSERT INTO 表名 VALUES (ST_GeomFromText('POINT(1 1)'))
查询空间数据:SELECT ST_AsText(列名) FROM 表名
空间关系查询:SELECT * FROM 表名 WHERE ST_Contains(ST_GeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))'), 列名)
事件调度器:
创建事件:
CREATE EVENT 事件名ON SCHEDULE EVERY 间隔DOBEGIN -- 事件逻辑END修改事件:ALTER EVENT 事件名 ON SCHEDULE EVERY 间隔 DO BEGIN ... END
删除事件:DROP EVENT 事件名
启用/禁用事件调度器:SET GLOBAL event_scheduler = ON/OFF
复制:
配置主从复制:
主库配置:
CREATE USER 'repl'@'%' IDENTIFIED BY '密码';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;SHOW MASTER STATUS;从库配置:
CHANGE MASTER TOMASTER_HOST='主库IP',MASTER_USER='repl',MASTER_PASSWORD='密码',MASTER_LOG_FILE='记录的文件名',MASTER_LOG_POS=记录的位置;START SLAVE;SHOW SLAVE STATUS;停止复制:STOP SLAVE
重置复制:RESET SLAVE
性能模式:
启用性能模式:SET GLOBAL performance_schema = ON
查询性能数据:SELECT * FROM performance_schema.表名
常用性能表:
events_statements_summary_by_digest:SQL语句执行统计
memory_summary_global_by_event_name:内存使用统计
file_summary_by_event_name:文件I/O统计
users:用户连接统计
系统表:
information_schema数据库:
TABLES:表信息
COLUMNS:列信息
STATISTICS:索引信息
SCHEMATA:数据库信息
VIEWS:视图信息
TRIGGERS:触发器信息
ROUTINES:存储过程和函数信息
EVENTS:事件信息
实用命令:
显示数据库列表:SHOW DATABASES
显示表列表:SHOW TABLES
显示表结构:DESCRIBE 表名 或 SHOW COLUMNS FROM 表名
显示创建表的SQL:SHOW CREATE TABLE 表名
显示创建数据库的SQL:SHOW CREATE DATABASE 数据库名
显示用户权限:SHOW GRANTS FOR '用户名'@'主机名'
显示进程列表:SHOW PROCESSLIST
显示变量:SHOW VARIABLES LIKE '模式'
显示状态:SHOW STATUS LIKE '模式'
显示警告:SHOW WARNINGS
显示错误:SHOW ERRORS
注释:
单行注释:-- 注释内容 或 # 注释内容
多行注释:/* 注释内容 */
数据类型:
数值类型:TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL
字符串类型:CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, ENUM, SET
日期和时间类型:DATE, TIME, DATETIME, TIMESTAMP, YEAR
JSON类型:JSON
空间数据类型:GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION
约束:
主键:PRIMARY KEY
外键:FOREIGN KEY
唯一约束:UNIQUE
非空约束:NOT NULL
默认值:DEFAULT
自增:AUTO_INCREMENT
检查约束:CHECK
运算符:
算术运算符:+, -, *, /, %
比较运算符:=, <> 或 !=, >, <, >=, <=, BETWEEN, IN, LIKE, IS NULL, IS NOT NULL
逻辑运算符:AND, OR, NOT, XOR
位运算符:&, |, ^, ~, <<, >>
流程控制:
IF语句:
IF 条件 THEN -- 语句ELSEIF 条件 THEN -- 语句ELSE -- 语句END IF;CASE语句:
CASE 表达式 WHEN 值1 THEN 结果1 WHEN 值2 THEN 结果2 ... ELSE 默认结果END CASE;LOOP循环:
[开始标签:] LOOP -- 语句 IF 条件 THEN LEAVE [开始标签]; END IF;END LOOP [开始标签];WHILE循环:
[开始标签:] WHILE 条件 DO -- 语句END WHILE [开始标签];REPEAT循环:
[开始标签:] REPEAT -- 语句 UNTIL 条件END REPEAT [开始标签];异常处理:
定义异常处理器:
DECLARE 处理器类型 HANDLER FOR 条件BEGIN -- 异常处理逻辑END;处理器类型:CONTINUE, EXIT
条件:SQLSTATE '状态码', SQLWARNING, NOT FOUND, SQLEXCEPTION, MySQL错误代码
游标:
声明游标:DECLARE 游标名 CURSOR FOR SELECT 语句
打开游标:OPEN 游标名
获取游标数据:FETCH 游标名 INTO 变量列表
关闭游标:CLOSE 游标名
预处理语句:
准备语句:PREPARE 语句名 FROM 'SQL语句'
执行语句:EXECUTE 语句名 [USING 参数列表]
释放语句:DEALLOCATE PREPARE 语句名
动态SQL:
使用CONCAT函数构建动态SQL:
SET @sql = CONCAT('SELECT * FROM ', 表名, ' WHERE ', 条件);PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;批量操作:
批量插入:
INSERT INTO 表名 (列1, 列2) VALUES(值1, 值2),(值3, 值4),...;批量更新:
UPDATE 表名 SET 列名 = CASE 条件 WHEN 条件1 THEN 值1 WHEN 条件2 THEN 值2 ... ELSE 默认值ENDWHERE 条件;数据导出导入:
导出查询结果到文件:SELECT * INTO OUTFILE '文件路径' FROM 表名
从文件导入数据:LOAD DATA INFILE '文件路径' INTO TABLE 表名
正则表达式:
使用REGEXP或RLIKE进行正则匹配:SELECT * FROM 表名 WHERE 列名 REGEXP '模式'
窗口函数(MySQL 8.0+):
排名函数:ROW_NUMBER(), RANK(), DENSE_RANK()
聚合窗口函数:SUM() OVER(), AVG() OVER(), COUNT() OVER()
分析函数:FIRST_VALUE(), LAST_VALUE(), LAG(), LEAD()
窗口定义:OVER(PARTITION BY 列名 ORDER BY 列名)
公用表表达式(CTE)(MySQL 8.0+):
非递归CTE:
WITH cte名 AS ( SELECT 语句)SELECT * FROM cte名;递归CTE:
WITH RECURSIVE cte名 AS ( -- 基础查询 SELECT 语句 UNION ALL -- 递归查询 SELECT 语句 FROM cte名 WHERE 条件)SELECT * FROM cte名;JSON函数(MySQL 5.7+):
创建JSON:JSON_OBJECT(), JSON_ARRAY()
查询JSON:JSON_EXTRACT() 或 ->, JSON_UNQUOTE(JSON_EXTRACT()) 或 ->>
修改JSON:JSON_SET(), JSON_INSERT(), JSON_REPLACE(), JSON_REMOVE()
JSON聚合:JSON_ARRAYAGG(), JSON_OBJECTAGG()
JSON验证:JSON_VALID()
JSON搜索:JSON_SEARCH()
JSON包含:JSON_CONTAINS()
JSON路径:JSON_PATH
地理空间函数:
创建几何对象:ST_GeomFromText(), ST_PointFromText(), ST_LineFromText(), ST_PolyFromText()
几何对象属性:ST_X(), ST_Y(), ST_Area(), ST_Length()
空间关系:ST_Contains(), ST_Within(), ST_Intersects(), ST_Disjoint(), ST_Equals(), ST_Touches()
空间分析:ST_Distance(), ST_Buffer(), ST_ConvexHull(), ST_Union(), ST_Intersection()
全文搜索函数:
全文搜索:MATCH() AGAINST()
布尔模式搜索:MATCH(列名) AGAINST('搜索词' IN BOOLEAN MODE)
全文索引统计:SHOW INDEX FROM 表名
性能优化函数:
执行计划:EXPLAIN
性能模式查询:SELECT * FROM performance_schema.表名
优化器提示:SELECT /*+ 提示 */ * FROM 表名
安全函数:
加密:AES_ENCRYPT(), AES_DECRYPT(), MD5(), SHA1(), SHA2()
权限检查:CURRENT_USER(), SESSION_USER(), SYSTEM_USER()
密码验证:VALIDATE_PASSWORD_STRENGTH()
编码转换:
字符集转换:CONVERT(表达式 USING 字符集名)
编码转换:ENCODE(), DECODE()
系统信息函数:
数据库信息:DATABASE(), SCHEMA()
连接信息:CONNECTION_ID(), CURRENT_USER(), SESSION_USER(), SYSTEM_USER()
版本信息:VERSION(), @@version
主机信息:@@hostname
服务器信息:@@global.server_id, @@global.server_uuid
条件判断函数:
IF函数:IF(条件, 真值, 假值)
IFNULL函数:IFNULL(表达式1, 表达式2)
NULLIF函数:NULLIF(表达式1, 表达式2)
COALESCE函数:COALESCE(表达式1, 表达式2, ...)
CASE表达式:CASE WHEN 条件 THEN 结果 ELSE 默认结果 END
数学函数:
基本运算:ABS(), CEIL(), FLOOR(), MOD(), POW(), ROUND(), TRUNCATE()
三角函数:SIN(), COS(), TAN(), ASIN(), ACOS(), ATAN(), COT()
对数函数:LN(), LOG(), LOG2(), LOG10(), EXP(), SQRT()
随机数:RAND()
符号函数:SIGN()
角度弧度转换:DEGREES(), RADIANS()
字符串函数:
基本操作:CONCAT(), SUBSTRING(), LEFT(), RIGHT(), LENGTH(), CHAR_LENGTH()
大小写转换:UPPER(), LOWER(), LCASE(), UCASE()
去除空格:TRIM(), LTRIM(), RTRIM()
字符串填充:LPAD(), RPAD()
字符串比较:STRCMP(), LIKE, REGEXP
字符串编码:BIN(), HEX(), UNHEX(), OCT()
字符串替换:REPLACE(), INSERT()
字符串重复:REPEAT()
字符串反转:REVERSE()
字符串位置:LOCATE(), INSTR(), FIELD(), FIND_IN_SET()
字符串格式化:FORMAT()
字符串转换:CAST(), CONVERT()
日期时间函数:
获取日期时间:NOW(), CURDATE(), CURTIME(), SYSDATE(), UTC_DATE(), UTC_TIME(), UTC_TIMESTAMP()
提取日期时间部分:YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND(), MICROSECOND()
日期时间计算:DATE_ADD(), DATE_SUB(), ADDDATE(), SUBDATE(), PERIOD_ADD(), PERIOD_DIFF()
日期时间差:DATEDIFF(), TIMEDIFF(), TIMESTAMPDIFF()
日期时间格式化:DATE_FORMAT(), TIME_FORMAT(), STR_TO_DATE()
最后一天:LAST_DAY()
星期几:DAYOFWEEK(), DAYOFYEAR(), WEEKDAY(), WEEKOFYEAR()
季度:QUARTER()
时间戳转换:UNIX_TIMESTAMP(), FROM_UNIXTIME()
时区转换:CONVERT_TZ()
聚合函数:
基本聚合:COUNT(), SUM(), AVG(), MIN(), MAX()
分组聚合:GROUP_CONCAT()
统计函数:STDDEV(), VARIANCE(), GROUPING()
位聚合:BIT_AND(), BIT_OR(), BIT_XOR()
窗口函数(MySQL 8.0+):
排名函数:ROW_NUMBER(), RANK(), DENSE_RANK(), PERCENT_RANK(), NTILE()
聚合窗口函数:SUM() OVER(), AVG() OVER(), COUNT() OVER(), MIN() OVER(), MAX() OVER()
分析函数:FIRST_VALUE(), LAST_VALUE(), LAG(), LEAD(), NTH_VALUE()
窗口定义:OVER(PARTITION BY 列名 ORDER BY 列名 ROWS/RANGE BETWEEN 起始 AND 结束)
系统变量:
全局变量:@@global.变量名
会话变量:@@session.变量名 或 @@变量名
用户变量:@变量名
局部变量(在存储过程/函数中):DECLARE 变量名 数据类型
配置参数:
查看参数:SHOW VARIABLES LIKE '模式'
设置参数:SET GLOBAL 参数名 = 值, SET SESSION 参数名 = 值
常用参数:
max_connections:最大连接数
innodb_buffer_pool_size:InnoDB缓冲池大小
query_cache_size:查询缓存大小
tmp_table_size:临时表大小
max_allowed_packet:最大包大小
wait_timeout:连接超时时间
innodb_log_file_size:InnoDB日志文件大小
innodb_flush_log_at_trx_commit:事务提交时日志刷新方式
sync_binlog:二进制日志同步方式
性能优化技巧:
合理使用索引:避免在索引列上使用函数,避免全表扫描
优化查询语句:避免使用SELECT *,只查询需要的列
使用EXPLAIN分析查询:查看执行计划,找出性能瓶颈
合理设计表结构:遵循数据库设计范式,避免数据冗余
使用分区表:对大表进行分区,提高查询效率
使用缓存:合理使用查询缓存,减少数据库访问
优化服务器配置:根据服务器硬件配置调整MySQL参数
定期维护:定期优化表,修复表,更新统计信息
使用连接池:减少连接建立和断开的开销
避免使用子查询:尽量使用JOIN替代子查询
使用批量操作:减少网络往返次数
常见错误及解决方法:
错误1064:SQL语法错误,检查SQL语句是否正确
错误1146:表不存在,检查表名是否正确
错误1054:列不存在,检查列名是否正确
错误1062:重复键值,检查是否有唯一约束冲突
错误1452:外键约束失败,检查外键关系是否正确
错误1215:无法添加外键约束,检查数据类型是否匹配
错误1216:外键约束失败,检查父表是否有对应记录
错误1217:外键约束失败,检查是否有循环引用
错误1045:访问被拒绝,检查用户名和密码是否正确
错误2003:无法连接到MySQL服务器,检查服务器是否运行,网络是否通畅
错误1044:访问被拒绝,检查用户是否有足够权限
错误1142:命令被拒绝,检查用户是否有执行该命令的权限
错误1049:数据库不存在,检查数据库名是否正确
错误1046:没有选择数据库,先使用USE语句选择数据库
错误1048:列不能为空,检查是否为NOT NULL列提供了值
错误1264:值超出范围,检查数值是否超出列定义的范围
错误1406:数据太长,检查字符串是否超出列定义的长度
错误1366:不正确的字符串值,检查字符集和排序规则是否匹配
错误1292:不正确的日期值,检查日期格式是否正确
错误1067:无效的默认值,检查默认值是否符合列定义
错误1065:查询为空,检查查询条件是否正确
错误1242:子查询返回多行,检查子查询是否只返回一行
错误1052:列名不明确,使用表名或别名限定列名
错误1060:重复列名,检查SELECT语句中是否有重复列名
错误1055:GROUP BY与SELECT列表不匹配,检查GROUP BY子句是否包含所有非聚合列
错误1222:使用的SELECT语句有多个行,检查是否在不允许的地方使用了返回多行的子查询
错误1136:列数与值数不匹配,检查INSERT语句中的列数和值数是否一致
错误1137:无法再次读取自动增量值,检查是否重复使用了LAST_INSERT_ID()
错误1243:未知预处理语句,检查预处理语句是否已准备
错误1061:重复键名,检查是否重复创建了相同的索引
错误1091:无法删除键,检查索引是否存在
错误1025:重命名时错误,检查表名是否正确
错误1005:创建表失败,检查是否有足够的权限,磁盘空间是否足够
错误1007:数据库已存在,检查是否重复创建了相同的数据库
错误1008:数据库不存在,检查是否尝试删除了不存在的数据库
错误104