概述
数据库操作是软件开发中的基础环节,但手动编写每一条增删改查(CRUD)语句往往耗时且容易出错。通过引入 LangChain 框架与大语言模型(LLM),我们可以将自然语言问题直接转化为 SQL 查询语句,从而大幅简化数据库交互流程,提升开发效率。
环境准备
本教程基于 Python 环境,使用轻量级关系型数据库 SQLite 进行演示。SQLite 通常嵌入在应用中,无需单独安装服务器,非常适合测试和原型开发。
依赖安装
首先,需要安装 LangChain 核心库、实验性模块以及 OpenAI SDK(或其他兼容的 LLM 接口)。
pip install langchain
pip install langchain-experimental
pip install openai
创建与初始化数据库
SQLite 是 Python 标准库的一部分,可以直接导入 sqlite3 模块。我们创建一个名为 FlowerShop.db 的本地数据库,并定义鲜花销售表结构。
数据库连接与建表
使用 cursor.execute() 执行 SQL 语句创建表结构。表中包含 ID、名称、类型、来源、价格及库存等字段。
import sqlite3
# 连接或创建数据库文件
conn = sqlite3.connect('FlowerShop.db')
cursor = conn.cursor()
# 创建数据表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS FLOWERS(
ID INTEGER PRIMARY KEY,
Name TEXT NOT NULL,
Type TEXT NOT NULL,
Source TEXT NOT NULL,
PurchasePrice REAL,
SalePrice REAL,
StockQuantity INTEGER,
SoldQuantity INTEGER,
ExpiryDate DATE,
Description TEXT,
EntryDate DATE DEFAULT CURRENT_DATE
);
'''
cursor.execute(create_table_sql)
# 插入初始数据
dummy_data = [
('Rose', 'Flower', 'France', 1.2, 2.5, 100, 10, '2023-12-31', 'A beautiful red rose'),
('Tulip', 'Flower', 'Netherlands', 0.8, 2.0, 150, 25, '2024-12-31', 'A colorful tulip'),
('Lily', 'Flower', 'China', 1.5, , , , , ),
(, , , , , , , , ),
(, , , , , , , , )
]
flower dummy_data:
cursor.execute(, flower)
conn.commit()
conn.close()


