用python写一个点菜系统导入数据库
时间: 2024-11-03 12:13:21 浏览: 10
用Python写一个NoSQL数据库
在Python中创建一个点菜系统并导入数据库,通常涉及几个步骤:首先设置数据库连接,然后定义数据模型,接着处理用户输入并操作数据库。这里提供一个简化版的示例,我们将使用SQLite作为数据库,假设我们有一个菜品表(menu_items):
```python
import sqlite3
# 1. 连接到SQLite数据库
def create_connection(db_file):
conn = None;
try:
conn = sqlite3.connect(db_file)
print(sqlite3.version)
except Error as e:
print(e)
if conn:
return conn
# 2. 定义菜品数据模型 (这里仅用于演示,实际应用会更复杂)
class MenuItem:
def __init__(self, id, name, price):
self.id = id
self.name = name
self.price = price
# 3. 插入或查询菜品到数据库
def add_item_to_database(conn, item):
cursor = conn.cursor()
cursor.execute("INSERT INTO menu_items VALUES (?, ?, ?)", (item.id, item.name, item.price))
conn.commit()
def get_menu_items(conn):
cursor = conn.cursor()
cursor.execute("SELECT * FROM menu_items")
items = cursor.fetchall()
return [MenuItem(*i) for i in items]
# 示例:用户点菜
def order_dishes():
conn = create_connection('restaurant.db')
# 模拟获取菜单
menu_items = get_menu_items(conn)
# 用户输入点单信息
dish_id = int(input("请输入您要点的菜品ID: "))
# 确保菜品存在
if dish_id > 0 and dish_id <= len(menu_items):
selected_item = menu_items[dish_id - 1]
add_item_to_database(conn, selected_item)
print(f"已为您添加菜品:{selected_item.name},价格 {selected_item.price}")
else:
print("无效的选择,请重新输入。")
# 执行点菜操作
order_dishes()
```
在这个例子中,`create_connection`函数负责建立数据库连接,`MenuItem`是一个简单的菜品类,`add_item_to_database`用于插入新菜品,`get_menu_items`用于获取所有菜品。
阅读全文