跳到正文
马克工具箱

在线 SQL 练习

不用安装数据库,打开网页就能写 SQL。内置一份员工和部门的示例数据,适合练习 SELECT、JOIN、GROUP BY、子查询和窗口函数;也可以打开自己的 SQLite 数据库文件查询,改完再下载回来。

在浏览器本地运行,输入的内容和文件都不会上传

示例:
Ctrl+Enter / ⌘+Enter

或把文件拖到这里

使用步骤

  1. 在编辑框里写 SQL,或点击上方的示例;可以一次写多条语句,用分号分隔。
  2. 点「运行」或按 Ctrl+Enter(Mac 上是 ⌘+Enter),每条查询的结果显示为一张表。
  3. 改乱了可以点「重置示例数据」;要处理自己的数据,打开 .db 或 .sqlite 文件。
  4. 需要保存时点「下载数据库」,得到当前数据库的 SQLite 文件。

参数说明

示例数据
departments(部门)和 employees(员工,含薪资、入职日期)两张表,其中一名员工没有部门,方便练习 LEFT JOIN 和 NULL。
SQL 方言
SQLite 3 语法,支持 CTE(WITH)、窗口函数、JSON 函数、UPSERT 等。与 MySQL、PostgreSQL 的语法大体相同,日期函数、自增写法等细节有差异。
结果显示
每条返回结果的语句单独显示一张表,最多显示 1000 行;增删改语句显示修改的行数。

示例查询

-- 各部门人数和平均薪资
SELECT d.name AS department, COUNT(*) AS people, AVG(e.salary) AS avg_salary
FROM employees e JOIN departments d ON d.id = e.department_id
GROUP BY d.name
ORDER BY avg_salary DESC;

常见问题

数据会保存吗?

数据库只在当前页面的内存里,刷新后恢复成示例数据。需要保留时先「下载数据库」,下次再打开这个文件。

可以打开多大的数据库文件?

整个文件会读入内存,几十 MB 以内都没问题,更大的文件取决于设备内存。

数据会上传吗?

不会。SQLite 编译成 WebAssembly 在浏览器中运行,查询和数据都不离开你的设备。

能连接 MySQL 或 PostgreSQL 服务器吗?

不能。这里运行的是浏览器内的 SQLite,不连接任何外部数据库。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具