SQL 入门:即便不是程序员,也要学会跟数据库聊天
数据库不是黑盒子。学会 SQL 的 CRUD(增删改查),你就能从海量数据中精准找到你想要的。小明带你用最简单的语言攻克 SQL。
SQL 入门:即便不是程序员,也要学会跟数据库聊天
很多行政、运营或者财务的朋友跟我抱怨:“小明,我的 Excel 已经卡得打不开了,几万行数据就要跑半天,我是不是该换电脑了?”
我一般会摸摸他们的头(如果关系够好的话),然后温和地说:“不,你需要的是数据库,以及一门叫 SQL 的外语。”
如果说 Excel 是一个多功能的随身笔记本,那么数据库就是一个巨大的、自动化的仓库。而 SQL(Structured Query Language),就是你进入这个仓库、调遣物资的指挥令。
数据库是什么?(图书馆理论)
想象一个巨大的图书馆。
- 数据库 (Database):就是整栋图书馆建筑。
- 表 (Table):就是图书馆里的一个个书架。比如“社科类书架”、“少儿类书架”。
- 行 (Row):就是书架上的每一本书。
- 列 (Column):就是书的属性。比如“书名”、“作者”、“价格”、“ISBN号”。
在 Excel 里,你可能把所有东西都塞在一个 Sheet 里。但在数据库里,我们会把不同的东西分开存放,然后用 SQL 把它们关联起来。
为什么要学 SQL?
- 快:处理百万级数据,SQL 就像割草机一样丝滑。
- 准:你可以精确地告诉它:“我要找 2025 年以后出版的、价格低于 50 元的、且作者姓王的社科书。”
- 通用:不管是 MySQL、Oracle、SQL Server,甚至是你手机里的通讯录,基本都通用这套语法。
第一课:SELECT——查询的艺术
SELECT 是 SQL 里最常用的命令,占了你工作 80% 的时间。它的逻辑很简单:你想看什么?从哪看?
1. 全都要
-- * 代表“所有列”
SELECT * FROM books;
2. 只要精华
SELECT title, author FROM books;
3. 只要特定的(WHERE 子句)
这就是 SQL 的灵魂。如果没有 WHERE,你就像在茫茫大海里捞针。
SELECT * FROM books
WHERE price < 50 AND category = '社科';
小明提醒:SQL 对大小写不敏感(通常),但为了装逼……哦不,为了专业,我们通常把关键字(如 SELECT, FROM)大写。
第二课:INSERT/UPDATE/DELETE——维护的尊严
这三者合称“写操作”。如果说 SELECT 是“读”,那它们就是“写”。
1. 插入新书 (INSERT)
INSERT INTO books (title, author, price)
VALUES ('小明的奋斗史', '小明', 9.9);
2. 修改信息 (UPDATE)
比如小明出名了,书要涨价:
UPDATE books
SET price = 99.9
WHERE title = '小明的奋斗史';
3. 删除记录 (DELETE)
高能预警!!程序员界最惨烈的惨案往往源于这一行。
-- 正确示范:
DELETE FROM books WHERE title = '垃圾书';
-- 惨烈示范(千万别学):
DELETE FROM books;
-- 恭喜你,你删除了整个书架所有的书。如果你没备份,可以准备简历了。
第三课:实战案例——小明的超市后台
假设你开了一家超市,有一张表叫 products。
| id | name | category | stock | price |
|---|---|---|---|---|
| 1 | 肥宅快乐水 | 饮料 | 100 | 3.5 |
| 2 | 乐事薯片 | 零食 | 50 | 7.0 |
| 3 | 康师傅牛肉面 | 速食 | 200 | 4.5 |
任务 1:找出库存低于 60 的商品,提醒补货。
SELECT name, stock FROM products WHERE stock < 60;
任务 2:所有饮料打 8 折。
UPDATE products
SET price = price * 0.8
WHERE category = '饮料';
总结:SQL 是一种思维方式
学 SQL 并不只是为了写代码。它教会你如何结构化地思考数据。当你看到一堆乱七八糟的表格时,你的大脑会自动开始分层、分类、建立关联。
小明金句: “WHERE 子句写得好,下班回家没烦恼。WHERE 一漏,全家跑路。”
下一期预告
我们将挑战 SQL 的高级技能:JOIN——让不同的表“谈恋爱”。别错过!