后端

SQL

你可能会说

我想查出“最近 7 天下单的用户”,那句话怎么写?

后端或数据库工具用来查找和修改关系型数据的语言例如,管理员筛选所有未付款订单时,后端会用 SQL 从订单表中查出结果。修改或删除数据前必须确认影响范围,用户输入也不能直接拼进 SQL 命令。
也常被叫作SQL 查询结构化查询语言
SELECT name, city FROM users WHERE city = '深圳'
id名字城市
1小狸深圳
2阿机杭州
3小林上海
组成结构 · Anatomy
SELECT name FROM users WHERE city = ?
id名字城市
1小狸深圳
SELECT、INSERT、UPDATE 或 DELETE,决定要读取还是修改
要操作的关系型数据集合;先确认表名和字段结构
WHERE 限定影响范围;问号等占位符由参数化查询安全传值
常见变体 · Variants
查询SELECT
SELECT读出匹配的行
读取记录,不修改数据
新增INSERT
INSERT加一行新记录
创建一条新记录
修改UPDATE
UPDATE改 WHERE 命中的行
更新指定记录,必须看 WHERE
删除DELETE
DELETE删 WHERE 命中的行
删除指定记录,先确认可恢复
典型使用场景
查询用户列表
查询用户SELECT 找到符合条件的记录
SELECT id, name, planFROM usersWHERE plan = 'pro';
结果:u_23 · 林小狐 · pro
新增一条任务
新增任务INSERT 创建一条记录
执行INSERT INTO tasks ... → 返回id = task_8842
更新个人资料
更新资料UPDATE 只修改指定用户
UPDATE usersSET city = '深圳'WHERE id = 'u_23';
影响 1 行 · 修改成功
按 id 删除一条记录
删除记录DELETE 前先确认 WHERE
SELECT WHERE id=t_42→确认 1 行→DELETE
避免误删整张表
快速判断

SQL 和 NoSQL 有什么区别?

SQL 是查询语言;实际选型是在关系型数据库与某种具体的 NoSQL 数据库之间比较。重点看数据关系、访问方式和一致性要求,不是简单判断谁更快。

对比维度关系型数据库(SQL)NoSQL 数据库
数据组织用表保存结构化记录,并通过字段关联不同表中的数据按文档、键值、列族或图等不同模型组织数据
判断重点需要多表关联、字段约束和事务时,通常更直接数据模型和访问方式很明确时,可选择针对该模式设计的产品
适用场景订单、账户和其他关系明确、需要一致性的业务数据键值缓存、文档内容、事件记录或图关系等特定场景
延伸阅读 · 权威出处