mysql语法总结,学会了就会mysql了

请分析下,mysql语法总结,学会了就会mysql了
最新回答
ク罡秂君孓ク

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