import mysql.connector from mysql.connector import Error class Warehouse: def __init__(self): self.conn = self.create_connection() self.cursor = self.conn.cursor() self.create_table_if_not_exists() def create_connection(self): """创建数据库连接""" try: connection = mysql.connector.connect( host='your_host', # 替换为你的数据库主机名 database='inventory_db', # 使用之前创建的数据库名 user='your_user', # 替换为你的数据库用户名 password='your_password' # 替换为你的数据库密码 ) print("成功连接到MySQL数据库") return connection except Error as e: print(f"连接失败: {e}") return None def create_table_if_not_exists(self): """如果表不存在,则创建表""" query = """ CREATE TABLE IF NOT EXISTS items ( id INT AUTO_INCREMENT PRIMARY KEY, item_name VARCHAR(255) NOT NULL, quantity INT NOT NULL ) """ try: self.cursor.execute(query) self.conn.commit() print("items表已存在或已成功创建") except Error as e: print(f"创建表时出错: {e}") # ...(保留原有的add_item, remove_item等方法逻辑,但内部实现改为使用SQL操作) def add_item_to_db(self, item_name, quantity): """向数据库添加商品""" query = "INSERT INTO items (item_name, quantity) VALUES (%s, %s)" values = (item_name, quantity) try: self.cursor.execute(query, values) self.conn.commit() print(f"已添加 {quantity} 个 {item_name} 到数据库。") except Error as e: print(f"插入数据时出错: {e}") # ...(类似地,修改remove_item, update_stock, check_stock等方法以使用SQL查询和操作) def close_connection(self): """关闭数据库连接""" if self.conn.is_connected(): self.cursor.close() self.conn.close() print("MySQL连接已关闭") # 记得在程序结束时调用close_connection来关闭数据库连接。