SQL 与 Python 入门

两门最常用的数据工具 · 一份就能看懂的速成讲解

① 它们各自负责什么

一句话区分:SQL 负责"从数据库里把数据拿出来",Python 负责"拿到数据后做任何处理"。

SQL

专门和数据库打交道的语言。你告诉它"我要什么数据",它负责找出来。查询、筛选、统计、增删改。

场景:从 10 万条订单里挑出"今天北京下的单"。

Python

通用编程语言。能算数、能画图、能爬网页、能做 AI。逻辑、循环、自动化全靠它。

场景:把拿到的订单算出每个城市的销售额并生成报表。

💡 实际工作里二者常配合:Python 写代码去连数据库 → 用 SQL 把数据查出来 → 再用 Python 处理。

SQL ② SQL 核心:增删改查

数据库可以想象成一堆 Excel 表格。下面用一张 users 用户表举例。

idnamecityage
1小艳北京28
2阿强上海34
3小美北京25

查 —— 最常用,占 90% 工作

-- 查所有列
SELECT * FROM users;

-- 只查名字和城市,且只要北京的人
SELECT name, city FROM users
WHERE city = '北京';

-- 按年龄从大到小排,只取前 2 条
SELECT * FROM users
ORDER BY age DESC
LIMIT 2;

统计 —— 分组聚合

-- 每个城市有多少人
SELECT city, COUNT(*) AS 人数
FROM users
GROUP BY city;

增 / 改 / 删

INSERT INTO users (name, city, age) VALUES ('小新', '广州', 30);
UPDATE users SET age = 29 WHERE name = '小艳';
DELETE FROM users WHERE id = 3;
⚠️ UPDATE / DELETE 一定要带 WHERE!忘了写 WHERE 会改/删掉整张表的所有数据。
关键字作用
SELECT查询哪些列
FROM从哪张表
WHERE筛选条件
ORDER BY排序
GROUP BY分组统计
LIMIT限制条数

Python ③ Python 基础语法

变量与数据类型

name = "小艳"        # 字符串
age  = 28           # 整数
price = 9.9         # 小数
is_vip = True        # 布尔(真/假)

print(f"{name} 今年 {age} 岁")   # 输出:小艳 今年 28 岁

列表与字典 —— 装数据的容器

cities = ["北京", "上海", "广州"]   # 列表:有序
print(cities[0])                  # 北京(从 0 开始数)

user = {"name": "小艳", "age": 28}  # 字典:键值对
print(user["name"])              # 小艳

判断与循环

# 判断
if age >= 18:
    print("成年人")
else:
    print("未成年")

# 循环:把列表里每个城市都打印一遍
for c in cities:
    print(c)

函数 —— 把一段逻辑打包复用

def greet(name):
    return f"你好,{name}!"

print(greet("小艳"))   # 你好,小艳!

④ 实战:Python + SQL 合体

这是真实工作中最常见的样子 —— 用 Python 连数据库,跑一条 SQL 把数据取出来处理:

import sqlite3

# 1. 连接数据库
conn = sqlite3.connect("shop.db")

# 2. 用 SQL 查"北京的用户"
sql = "SELECT name, age FROM users WHERE city = '北京'"
rows = conn.execute(sql).fetchall()

# 3. 用 Python 处理结果
for name, age in rows:
    print(f"{name}({age}岁)")

conn.close()
🔗 记住这个流程:连接 → 写 SQL 取数 → Python 处理 → 关闭。换成 MySQL、PostgreSQL 也是同一套思路,只是换个连接库。

⑤ 速查对照 & 下一步

我想做的事用什么
从数据库取 / 改数据SQL
做计算、写逻辑、自动化Python
处理 Excel / CSV 文件Python(pandas 库)
统计每组的数量/总和SQL 的 GROUP BY
爬网页、做接口、跑 AIPython

建议的学习顺序

1️⃣ 先把 Python 的变量、列表、判断、循环练熟(能写小脚本)。
2️⃣ 再学 SQL 的 SELECT … WHERE … GROUP BY(能查数据)。
3️⃣ 最后把两者合起来:Python 连库跑 SQL。

动手永远比看重要 —— 每个例子都自己敲一遍,比读十遍都管用。