🗄️ 在线运行 SQL
浏览器里跑真正的 SQLite 数据库。自带中文示例数据,写完查询点运行,结果直接以表格显示。
运行环境SQLite 3 · sql.js 需要下载约 700 KB 🔒代码只在本机浏览器运行,不上传服务器
这里是数据库的初始结构和示例数据。改完之后点「重置数据库」生效。
结果
还没有输出。写好代码点「运行」,结果会显示在这里。
真正的 SQLite 数据库编译成 WebAssembly 在浏览器里运行,SQL 语法与 MySQL/PostgreSQL 高度通用。
三步开始
- 展开「建表与数据」可以看到当前的两张示例表,也可以自己改成任意结构。
- 在代码框里写 SQL,多条语句用分号隔开,会依次执行。
- 点「运行」,每条 SELECT 的结果都以表格显示,并给出行数和耗时。
示例代码
点任意一条即可载入到编辑器,改两行再运行,是熟悉语法最快的方式。
SQL 教程
常见问题
这是真的数据库吗?
是真的 SQLite——和手机 App、浏览器里用的那个 SQLite 是同一份 C 代码,只是编译成了 WebAssembly。所以 SQL 行为、类型规则、函数都和真实 SQLite 一致。
数据和 MySQL 一样吗?
语法大部分通用(SELECT、JOIN、GROUP BY、子查询、窗口函数都支持)。差异在细节:SQLite 是动态类型,自增用 INTEGER PRIMARY KEY AUTOINCREMENT,日期函数是 date()/strftime() 而不是 MySQL 的 DATE_FORMAT()。练语法完全够用。
建的数据会保留吗?
会保留在当前页面会话里。你可以先运行 INSERT,再运行 SELECT 看到刚插入的数据。刷新页面或点「重置数据库」会回到初始的示例数据。
能自己建表吗?
能。展开「建表与数据」面板,把示例结构改成你自己的 CREATE TABLE 和 INSERT,点「重置数据库」应用新结构。
中文表名列名可以吗?
可以。SQLite 支持 Unicode 标识符,示例数据就是中文的。也可以按习惯用英文,或用双引号 / 反引号包起来。
查询报错了怎么办?
输出区会显示 SQLite 的原始错误信息,例如 no such column: 年纪(列名拼错)。SQL 报错通常就三类:名字写错、少写逗号或分号、GROUP BY 与聚合函数不匹配。
换一门语言
- Python 打开网页就能写 Python 并立刻看到结果。代码在你自己的浏览器里运行,不上传服务器,没装任何环境也不会报错。 Pyodide · CPython 3.14 · 约 13 MB 打开 Python 运行器 →
- JavaScript 不用装 Node.js,不用配环境。写完点运行,console.log 的结果立刻出现在右边。 浏览器原生引擎 · 0 KB 打开 JavaScript 运行器 →
- TypeScript 不用 npm install,不用配 tsconfig.json。写完 TypeScript 点运行,编译错误和执行结果都显示在右边。 Sucrase 编译 → 浏览器执行 · 约 200 KB 打开 TypeScript 运行器 →