掘金小测笔记16.1

115 阅读3分钟

首先,第 6 行 import sqlite3 :这行代码导入了 Python 内置的 sqlite3 库,使我们能够在程序中使用与 SQLite 数据库进行交互的功能。

第 8 行 conn = sqlite3.connect("FlowerShop.db") :这里建立了与名为"FlowerShop.db"的数据库的连接。通过这个操作,我们为后续对数据库的操作做好了准备。

第 9 行 cursor = conn.cursor() :创建了一个游标对象 cursor 。游标用于执行数据库中的各种操作,如查询、插入、更新和删除数据等。

从第 10 行到第 25 行,执行了创建一个名为"Flowers"的表的操作。表中有多个列,包括:

  •  ID :整数类型,为主键。

  •  Name 、 Type 、 Source :文本类型,不允许为空值。

  •  PurchasePrice 、 SalePrice :实数类型。

  •  StockQuantity 、 SoldQuantity :整数类型。

  •  ExpiryDate :日期类型。

  •  Description :文本类型。

第一步,明确插入语句的基本语法:

 INSERT INTO YourTableName (ColumnName1, ColumnName2, ColumnName3,...) VALUES (Value1, Value2, Value3,...); 

第二步,根据给定的数据和表结构,确定我们要插入的列和相应的值。比如对于第一种花“Rose”:

列名依次是:RenlStockQuantity 、SoldQuantity 、ExpiryDate 、Description 、EntryDate

值依次是:100 、10 、'2023-12-31' 、'A beautiful red rose' 、CURRENT_DATE

所以插入语句应该是:

 INSERT INTO YourTableName (RenlStockQuantity, SoldQuantity, ExpiryDate, Description, EntryDate) VALUES (100, 10, '2023-12-31', 'A beautiful red rose', CURRENT_DATE); 

💡解答

首先,根据您提供的表结构和数据,看起来存在一些格式上的不规范和不完整。

假设我们的表创建语句是完整且正确的,以下是插入数据的步骤:

第一步,明确插入语句的基本语法:

 INSERT INTO YourTableName (ColumnName1, ColumnName2, ColumnName3,...) VALUES (Value1, Value2, Value3,...); 

第二步,根据给定的数据和表结构,确定我们要插入的列和相应的值。比如对于第一种花“Rose”:

列名依次是:RenlStockQuantity 、SoldQuantity 、ExpiryDate 、Description 、EntryDate

值依次是:100 、10 、'2023-12-31' 、'A beautiful red rose' 、CURRENT_DATE

所以插入语句应该是:

 INSERT INTO YourTableName (RenlStockQuantity, SoldQuantity, ExpiryDate, Description, EntryDate) VALUES (100, 10, '2023-12-31', 'A beautiful red rose', CURRENT_DATE);  从第 5 行到第 9 行,导入了所需的模块和工具。

 from langchain.utilities import SQLDatabase :导入了用于处理数据库的  SQLDatabase  类。  from langchain_experimental.sql import SQLDatabaseChain :导入了用于创建与数据库交互链的  SQLDatabaseChain  类。  import os :导入了操作系统相关的模块。  from langchain_openai import ChatOpenAI :导入了  ChatOpenAI  模型。 第 12 行,通过  SQLDatabase.from_uri("sqlite:///FlowerShop.db")  连接到名为  FlowerShop.db  的数据库。 第 15 行,创建了一个  ChatOpenAI  实例  llm  ,设置了模型的参数。

 temperature=0  表示模型输出更具确定性。 第 18 行,使用创建的  llm  和数据库对象  db  创建了  SQLDatabaseChain  实例  db_chain  ,并设置  verbose=True  以获取更多输出信息。 第 21 行和第 24 行,分别运行了两个与鲜花相关的问题:"有多少种不同的鲜花?" 和 "哪种鲜花的存货数量最少?" ,并将结果存储在  response  变量中,然后通过  print(response)  打印出回答。