Inner Skills 10: Supabase
九、数据库
💡
此部分为数据库知识讲解,实操部分在【Supabase】章节
一般来说我们使用 PostgreSQL 比较多
9.1 核心概念
数据库是什么
💡
最形象的比喻
Excel 表格的超级进化版:能存储百万倍的数据,并且多人同时安全使用
图书馆管理系统:
书库 = 数据库
图书分类 = 表(用户表/商品表)
图书信息卡 = 表中的记录
管理员 = SQL 查询语言
为什么需要数据库?
场景
无数据库
有数据库
存储数据
用 txt 文件记录
专业存储系统
查找信息
全文件扫描
毫秒级检索
多人使用
容易冲突
并发控制
数据安全
易丢失
自动备份
数据库核心概念拆解
表结构详解(以"学生信息表"为例)
| 学号(主键) | 姓名 | 年龄 | 班级 | 入学日期 |
|---|---|---|---|---|
| 2023001 | 张三 | 18 | 高一(3)班 | 2023-09-01 |
| 2023002 | 李四 | 17 | 高一(1)班 | 2023-09-01 |
字段类型:
整数:年龄
字符串:姓名
日期:入学日期
主键:学号(唯一不重复)
SQL 语言基础语法
-- 增:添加新学生
INSERT INTO 学生表 VALUES (2023003, '王五', 16, '高一(2)班', '2023-09-01');
-- 删:退学学生删除
DELETE FROM 学生表 WHERE 学号=2023002;
-- 改:调换班级
UPDATE 学生表 SET 班级='高一(4)班' WHERE 姓名='张三';
-- 查:找所有17岁以下学生
SELECT * FROM 学生表 WHERE 年龄<17;数据库在真实项目中的应用
用户注册流程
sequenceDiagram 用户->>前端: 填写注册表单 前端->>后端: 发送注册请求 后端->>数据库: INSERT INTO users... 数据库-->后端: 操作结果 后端-->前端: 返回成功/失败 前端->>用户: 显示注册结果bb
电商网站数据关系
[用户表] -- 1:n --> [订单表] [商品表] -- m:n --> [订单表] 通过[订单明细表] B
9.2 实战项目
入门项目
此部分实战,可根据【Supabase】章节中的实操环节。
项目升级:学习 PostgreSQL 数据库FFF
如有余力,可尝试学习 PostgreSQL

9.3 常见疑问
问题
答案
主键为什么不能重复?
就像学生的学号/身份证号,重复会导致系统无法区分不同记录
SQL 语句总是写错怎么办?
使用开发工具提示(如 VS Code 的 SQL 插件),记住核心结构:
SELECT [字段] FROM [表] WHERE [条件] ORDER BY [排序] LIMIT [数量]如何防止数据丢失?
定期备份:.dump 命令导出数据
事务处理:
BEGIN TRANSACTION;
-- 你的操作...
COMMIT;
-- 或 ROLLBACK 回滚期待你的提问,可在此直接评论