在当今技术飞速发展的时代,人工智能(AI)🤖 和 移动设备📱 已经成为我们日常生活和工作中不可或缺的一部分。随着大语言模型(LLM)能力的不断提升,以及移动端用户占比持续增长,“AI First” 与 “Mobile First” 正逐渐成为现代软件开发的核心理念。
本文将从一个“点奶茶”的生活场景出发,结合完整代码示例,深入讲解如何使用 Python + AI 自动生成数据库操作,让你轻松理解整个流程!
一、AI First:让 AI 成为你最聪明的程序员助手 🤖
1.1 什么是 AI First?💡
AI First 是指:先用自然语言告诉 AI 你想做什么,然后由 AI 帮你生成代码或执行任务。
比如:
“帮我查一下工程部门有哪些员工?”
→ AI 自动写好 SQL 并帮你运行!
不需要你记住复杂的语法,就像有个“博士级程序员”在帮你打工 👨💻✨
1.2 场景演示:帮我点一杯最便宜的热奶茶!🥤
想象你说:
“豆包,帮我点一杯少糖热的珍珠奶茶,在美团、抖音、淘宝上比价,用优惠券后选最便宜的一家下单。”
这背后其实涉及很多步骤:
- 🔍 理解你说的话(AI 听懂人话)
- 🌐 打开多个平台查价格(调用 API)
- 💳 查看你能用的优惠券
- 🧮 算出哪家最便宜
- 🛒 自动下单
而这些都可以通过 AI + 小程序/APP 实现!未来我们可能真的只要“说话”,就能完成各种任务 ✅
二、实战教学:用 Python 让 AI 帮你写 SQL 查询 💬➡️💾
我们将做一个小项目:
👉 创建一个“员工信息表” → 插入数据 → 让 AI 根据中文问题自动生成 SQL 查询语句!
即使你是 Python 新手,也能看懂每一步 😊
🔧 步骤 1:连接到 AI 模型(DeepSeek)
我们要让 AI 帮我们写 SQL,所以需要连上它的“大脑”。
from openai import OpenAI # 导入 OpenAI 的库(通用接口)
# 设置连接参数
client = OpenAI(
api_key='sk-832eee1997f0472c97cb7cc00364b871', # 你的密钥(像密码一样重要!🔑)
base_url='https://api.deepseek.com/v1' # DeepSeek 提供的服务地址 🌐
)
📌 讲解:
from openai import OpenAI:导入一个可以和 AI 对话的工具包。api_key:是你登录 AI 服务的“通行证”。⚠️ 不要分享给别人!base_url:告诉程序去哪里找 AI 大脑 —— 这里是 DeepSeek 的服务器。
✅ 就像你要用微信发消息,必须先登录账号一样,这里也是“登录”AI 服务。
🗃️ 步骤 2:创建本地数据库和表格
我们用 SQLite —— 一种轻量级数据库,适合学习和测试。
import sqlite3 # 导入数据库模块
# 创建或打开一个叫 test.db 的数据库文件
conn = sqlite3.connect("test.db")
# 创建一个“游标”,它是用来操作数据库的“手”
cursor = conn.cursor()
# 执行建表命令
cursor.execute("""
CREATE TABLE IF NOT EXISTS employees(
id INTEGER PRIMARY KEY, -- 编号,整数,主键(唯一标识)
name TEXT, -- 姓名,文本类型
department TEXT, -- 部门,比如“销售”、“工程”
salary INTEGER -- 工资,整数
)
""")
📌 讲解:
sqlite3.connect("test.db"):如果电脑里没有test.db文件,会自动创建一个。cursor():你可以把它想象成鼠标指针,所有操作都要通过它来点击执行。CREATE TABLE IF NOT EXISTS:意思是“如果这个表不存在,就创建它”,避免重复报错。- 字段说明:
id INTEGER PRIMARY KEY:每个人的编号,不能重复。name TEXT:名字是文字类型(如 "黄佳")。salary INTEGER:工资是数字(如 50000)。
✅ 就像你在 Excel 里新建一张表,设置了列名:“编号”、“姓名”、“部门”、“工资”。
➕ 步骤 3:插入一些测试数据
现在我们往表里加几个人:
# 准备要插入的数据(每一行是一个元组)
sample_data = [
(6, "黄佳", "销售", 50000),
(7, "宁宁", "工程", 75000),
(8, "谦谦", "销售", 60000),
(9, "悦悦", "工程", 80000),
(10, "黄仁勋", "市场", 55000),
(11, "曾繁花", "工程", 80000)
]
# 一次性插入多条数据
cursor.executemany(
"INSERT INTO employees VALUES(?,?,?,?)", # ? 是占位符,防止出错
sample_data
)
# 提交更改,否则数据不会保存!
conn.commit()
📌 讲解:
sample_data是一个列表,里面每个括号( )表示一条记录(一行数据)。executemany():批量插入,比一条一条插快得多 ⚡?符号:代表“等下我会填一个值”,这样更安全,防止黑客攻击(SQL 注入)🔒conn.commit():非常重要!就像文档编辑完要点“保存”按钮 💾 否则关机就没了!
✅ 类比:你在 Excel 表格填好了几行员工信息,然后点击“保存”。
📐 步骤 4:告诉 AI 数据库长什么样(Schema)
为了让 AI 能正确写出 SQL,我们必须先告诉它表结构。
# 获取表的字段信息
schema = cursor.execute("PRAGMA table_info(employees)").fetchall()
print("原始字段信息:", schema)
# 把字段信息整理成 AI 容易理解的格式
schema_str = "CREATE TABLE EMPLOYEES(\n" + \
"\n".join([f" {col[1]} {col[2]}" for col in schema]) + \
"\n);"
print("给 AI 看的 Schema:\n", schema_str)
📌 讲解:
PRAGMA table_info(...):SQLite 内置命令,用来查看表有哪些字段。- 返回结果类似:
[(0, 'id', 'INTEGER'), (1, 'name', 'TEXT'), ...] - 我们用
for col in schema遍历每一行,取出字段名col[1]和类型col[2] - 最终拼成一段看起来像建表语句的文字,让 AI 更容易理解。
🎯 输出效果:
CREATE TABLE EMPLOYEES(
id INTEGER
name TEXT
department TEXT
salary INTEGER
);
✅ 就像你画一张表格草图给同事看:“这是我们的员工表,有这四个字段。”
🤖 步骤 5:定义函数 ask_deepseek —— 让 AI 写 SQL
我们现在写一个函数,把问题 + 表结构一起发给 AI,让它返回 SQL。
def ask_deepseek(query, schema):
# 构造提示词(Prompt),就是我们对 AI 说的话
prompt = f"""
这是一个数据库的Schema:
{schema}
根据这个Schema,请输出一个SQL查询来回答以下问题。
只输出SQL查询语句本身,不要使用任何Markdown格式,
不要包含反引号、代码块标记或额外说明。
问题:{query}
"""
print("【发送给 AI 的内容】:\n", prompt)
# 调用 DeepSeek 的 AI 模型
response = client.chat.completions.create(
model="deepseek-chat", # 使用 DeepSeek 的对话模型
max_tokens=2048, # 最多生成 2048 个字(足够写复杂 SQL)
messages=[{
"role": "user",
"content": prompt
}],
temperature=0 # 温度为 0 → 输出稳定,不随机
)
# 提取 AI 回复的内容
return response.choices[0].message.content.strip()
📌 重点讲解:
def:定义一个函数,相当于“制作一个工具”。prompt:是我们给 AI 的指令,告诉它“这是表结构,这是问题,请你写 SQL”。messages=[{"role": "user", "content": prompt}]:模拟人类聊天,你是提问者(user)。temperature=0:让 AI 回答更固定,适合写代码(不然每次答案不一样 ❌)response.choices[0].message.content:从 AI 的回复中提取真正的内容。
✅ 就像你问学霸:“根据这张成绩单,谁考了最高分?” 学霸告诉你答案。
🧪 步骤 6:实际调用 AI 写 SQL 并执行
示例 1:查询工程部门员工
# 提出一个问题(用中文)
question = "工程部门员工的姓名和工资是多少"
# 让 AI 生成对应的 SQL
sql_query = ask_deepseek(question, schema_str)
print("AI 生成的 SQL:", sql_query)
# 执行这条 SQL 并获取结果
result = cursor.execute(sql_query).fetchall()
print("查询结果:", result)
🎯 输出是:
SELECT name, salary FROM employees WHERE department = '工程';
结果:
[('宁宁', 75000), ('悦悦', 80000), ('曾繁花', 80000)]
🎉 成功了!AI 正确理解了“工程部门”对应 department = '工程',并选择了正确的字段。
示例 2:新增员工(INSERT)
question = "在销售部门增加一个新员工,姓名为张三,工资为45000"
sql_query = ask_deepseek(question, schema_str)
print("AI 生成的 SQL:", sql_query)
# 执行插入操作
cursor.execute(sql_query)
conn.commit() # 记得提交!否则数据没保存
🎯 生成:
INSERT INTO employees (name, department, salary) VALUES ('张三', '销售', 45000);
✅ AI 学会了怎么写 INSERT 语句!
示例 3:删除某员工(DELETE)
question = "删除市场部门的黄仁勋"
sql_query = ask_deepseek(question, schema_str)
print("AI 生成的 SQL:", sql_query)
cursor.execute(sql_query)
conn.commit()
🎯 生成:
DELETE FROM employees WHERE name = '黄仁勋' AND department = '市场';
🚨 注意:删除操作不可逆!真实项目中建议先做“软删除”(比如加个 is_deleted 字段)。
三、AI 如何融入 MVC 架构?—— 智能后端开发新模式 🔄
传统开发要手动写前后端代码,现在我们可以让 AI 帮忙!
示例:让 AI 生成一个 Web 接口(Node.js Express)
你可以对 AI 说:
“用 Node.js 写一个 Express 路由,查询工程部员工并返回 JSON。”
AI 就会给你生成:
const express = require('express');
const sqlite3 = require('sqlite3').verbose();
const router = express.Router();
const db = new sqlite3.Database('./test.db');
router.get('/engineering', (req, res) => {
const sql = "SELECT name, salary FROM employees WHERE department = '工程'";
db.all(sql, [], (err, rows) => {
if (err) {
res.status(500).json({ error: err.message });
return;
}
res.json({ data: rows });
});
});
module.exports = router;
📌 虽然这是 JavaScript,但思路一样:
- AI 能根据需求自动生成完整功能模块。
- 开发者只需审核是否正确即可 ✅
四、Mobile First:优先做好手机体验 📱
为什么叫 Mobile First?
因为现在大多数人都是用手机上网:
- 小程序、App 是主要入口 📲
- PC 端只用于管理后台 🖥️
所以我们应该:
✅ 80% 精力优化手机端体验
✅ 20% 精力适配电脑浏览器
CSS 实践:响应式布局(让网页在手机和电脑都能看)
/* 默认样式:针对手机设计 */
.container {
padding: 10px; /* 手机屏幕小,边距小一点 */
font-size: 14px; /* 字体也不要太大 */
}
/* 当屏幕宽度 >= 768px(平板及以上)时生效 */
@media (min-width: 768px) {
.container {
padding: 20px;
font-size: 16px;
}
}
/* 当屏幕宽度 >= 1024px(桌面电脑)时生效 */
@media (min-width: 1024px) {
.container {
max-width: 1200px;
margin: 0 auto; /* 居中显示 */
font-size: 18px;
}
}
📌 新手讲解:
@media是 CSS 的“条件判断”:满足某个条件才应用这些样式。min-width:最小宽度,意思是“大于等于这个尺寸就用这个样式”。- 移动优先原则:先写手机样式,再逐步增强大屏体验 ✅
✅ 就像你做衣服,先按小号做,再慢慢放大成中号、大号。
五、ModelScope:阿里云的大模型社区 ☁️
ModelScope 是中国的 Hugging Face,提供:
- 📦 上千个免费大模型(如 Qwen、ChatGLM)
- 🧪 数据集资源
- 🧠 在线 Jupyter Notebook(免安装运行代码)
你可以在这里:
- 下载预训练模型
- 微调自己的专属 AI 客服
- 部署为 API 供小程序调用
六、总结:给 Python 新手的学习建议 🎯
| 技能 | 学习建议 |
|---|---|
| Python 基础 | 学会变量、列表、函数、循环 |
| SQLite 数据库 | 理解 SELECT, INSERT, WHERE 等基本操作 |
| API 调用 | 学会用 requests 或 OpenAI SDK 和 AI 对话 |
| Prompt 工程 | 练习如何清晰地向 AI 描述问题 💬 |
| Mobile First 思维 | 设计产品时先想“手机上怎么用” 📱 |
结语 🌈
“最好的代码,是你不用写的那一行。”
—— AI First 时代的开发者信条
只要你能说清楚“我想做什么”,AI 就能帮你实现!
🚀 从今天开始,学会与 AI 协作,成为未来的超级开发者吧!
📘 动手建议:复制上面的代码,自己运行一遍,改几个名字试试看!实践是最好的学习方式。