SQL在线练习:浏览器里学SELECT查询,不用装数据库

学 SQL 最大的门槛不是语法,而是"还没开始就先装数据库"。其实入门完全不需要:浏览器里就能跑一个真正的 SQLite——建表、插入、查询、JOIN 全部实时出结果。SQLite 的基础语法与 MySQL/PostgreSQL 高度一致,学会即可迁移。本文给一条"十分钟上手路径"和一套练习题。

为什么入门选 SQLite?

  • 零安装:数据库引擎直接内嵌,打开网页就是一个可用数据库;
  • 标准 SQL:SELECT / WHERE / JOIN / GROUP BY 与主流数据库语法一致;
  • 会话内持久:同一会话内多次运行之间,建好的表和数据保留,可以分步练习;
  • 结果可视化:查询结果直接渲染成表格,直观。

十分钟上手路径

第 1 分钟:建表

CREATE TABLE students(
  id INTEGER PRIMARY KEY,
  name TEXT,
  class TEXT,
  score REAL
);

第 2~3 分钟:插入数据

INSERT INTO students VALUES
(1,'张三','一班',89),
(2,'李四','二班',72),
(3,'王五','一班',95),
(4,'赵六','二班',63);

第 4~6 分钟:条件查询与排序

SELECT name, score FROM students
WHERE score >= 80
ORDER BY score DESC;

第 7~10 分钟:分组统计

SELECT class, COUNT(*) AS 人数, AVG(score) AS 平均分
FROM students
GROUP BY class;

跑完这四段,你就已经用过了 SQL 最核心的 60% 语法:建表、插入、条件、排序、分组聚合。

进阶练习题

  1. 再加一张 scores 表(学生id、科目、分数),用 JOIN 查每个学生的总分;
  2. 查询平均分最高的班级(子查询或 ORDER BY + LIMIT);
  3. 给 score 加一列"等级"(CASE WHEN 表达式:≥90 优秀 / ≥80 良好 / 其他 及格)。

如实说明:在线练习的边界

  • 数据库活在浏览器内存里:会话内跨多次运行保留,但刷新页面或长时间放置后重置——练习脚本记得复制保存;
  • 数据量受浏览器内存限制,适合学习规模的表(几千行以内);
  • 它不替代生产数据库:没有用户权限、备份、并发等概念,这些进阶到 MySQL/PostgreSQL 再学。
SQL 在线练习 内置 SQLite,多语句执行,查询结果实时渲染成表格
开始练 SQL

常见问题(FAQ)

学SQL用什么数据库练习最好?

入门用SQLite最合适:零安装、语法是标准SQL、轻量到直接跑在浏览器里。SQLite与MySQL/PostgreSQL在基础增删改查语法上高度一致,学会后再迁移到其他数据库成本很低。

在线练习的数据会保存吗?

数据库运行在浏览器内存中:同一次会话内的多次运行之间数据保留,可以分步建表、插入、查询;但刷新页面或长时间放置后数据会重置。重要练习脚本请复制保存到本地。

给出一个入门练习的例子?

依次执行:①CREATE TABLE students(id INTEGER, name TEXT, score REAL); ②INSERT INTO students VALUES (1,'张三',89),(2,'李四',72),(3,'王五',95); ③SELECT name, score FROM students WHERE score >= 80 ORDER BY score DESC; 三步就能体会建表、插入、条件查询与排序。

SQLite和MySQL语法有哪些常见差异?

基础SELECT/WHERE/JOIN/GROUP BY完全一致。差异集中在细节:SQLite无内置用户管理、字符串拼接用||、日期函数不同、部分数据类型是"亲和类型"。进阶时注意查对应数据库的文档即可。