跳到正文
在此运行 完全在你的浏览器里运行,不上传、不登录

SQL 方言转换

在 MySQL、PostgreSQL、SQLite 之间转换 INSERT 与 CREATE TABLE 语句。

怎么用

  1. 把一条或多条 SQL 粘到左边 —— INSERT 与 CREATE TABLE 语句,多条用分号分隔。
  2. 选源方言,或保持自动检测:按反斜杠转义与反引号引号推断转义风格。
  3. 选目标方言:MySQL、PostgreSQL 或 SQLite。
  4. 右边读转换结果,下方读转换说明。凡是在目标方言里没有对应写法的子句,都会在这里逐条列名,不会静默删掉。
  5. 复制或下载结果,跑真实库之前先过一遍说明。

常见用法

常见问题

问:哪些语句会被完整转换? 答:INSERT 语句(标识符引号、字符串转义、列清单与 VALUES 各行)和 CREATE TABLE 语句(标识符引号、AUTO_INCREMENT 转 SERIAL / BIGSERIAL / AUTOINCREMENT、MySQL 表选项、LIMIT m,n 转 LIMIT n OFFSET m)。其余语句做保守改写并附说明。

问:自动检测到底检测什么? 答:字符串字面量的转义约定:出现 \n、' 这类反斜杠转义按 MySQL 风格读,出现两个单引号翻倍按 PostgreSQL / SQLite 的标准风格读。文件里两种风格混用时,请手动指定源方言。

问:为什么有些子句原样保留而不转换? 答:像 ON DUPLICATE KEY UPDATE、ON UPDATE CURRENT_TIMESTAMP、UNSIGNED 这些子句在别的方言里没有一对一对应写法。转换器保留它们并在说明区列出,让你显式改写,而不是相信一个静默的猜测。

你的数据留在这台设备上

SQL 方言转换 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。

你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。