附源代码,包括Python和SQL
啥也不多嗦,直接开整,上代码
import tkinter as tk
from tkinter import ttk, messagebox
import mysql.connector
class DatabaseManager:
# 初始化
def __init__(self, root):
self.root = root
self.root.title("餐厅管理系统(mini版)")
self.root.geometry("800x600")
self.root.configure(bg='white')
self.db_connection = mysql.connector.connect(
host="localhost",
user="root",
password="123456",
database="my"
)
self.cursor = self.db_connection.cursor()
self.create_widgets()
# 登录界面
def create_widgets(self):
self.notebook = ttk.Notebook(self.root)
self.notebook.pack(expand=1, fill='both')
self.create_login_page()
def create_login_page(self):
login_frame = ttk.Frame(self.notebook)
self.notebook.add(login_frame, text="登录")
ttk.Label(login_frame, text="用户名:").pack(pady=5)
self.username_entry = ttk.Entry(login_frame)
self.username_entry.pack(pady=5)
ttk.Label(login_frame, text="密码:").pack(pady=5)
self.password_entry = ttk.Entry(login_frame, show='*')
self.password_entry.pack(pady=5)
login_button = ttk.Button(login_frame, text="登录", command=self.on_login_button_clicked)
login_button.pack(pady=20)
def on_login_button_clicked(self):
username = self.username_entry.get()
password = self.password_entry.get()
if username == "root" and password == "123456":
messagebox.showinfo("登录成功", "欢迎管理员")
self.create_menu_page()
self.create_order_page()
self.create_worker_page()
self.create_tomer_page()
else:
messagebox.showerror("登录失败", "用户名或密码错误")
# 菜单管理
def create_menu_page(self):
menu_frame = ttk.Frame(self.notebook)
self.notebook.add(menu_frame, text="菜单管理")
add_menu_button = ttk.Button(menu_frame, text="添加菜单", command=self.on_add_menu_button_clicked)
add_menu_button.pack(pady=5)
subtraction_menu_button = ttk.Button(menu_frame, text="删除菜单", command=self.on_subtraction_menu_button_clicked)
subtraction_menu_button.pack(pady=10)
self.menu_tree = ttk.Treeview(menu_frame, columns=("ID", "名称", "分类", "价格"), show='headings')
for col in self.menu_tree["columns"]:
self.menu_tree.heading(col, text=col)
self.menu_tree.pack(expand=1, fill='both')
self.load_menus()
def on_add_menu_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("添加菜单")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
tk.Label(dialog, text="名称").pack(pady=5)
name_entry = tk.Entry(dialog)
name_entry.pack(pady=5)
tk.Label(dialog, text="分类").pack(pady=5)
class_entry = tk.Entry(dialog)
class_entry.pack(pady=5)
tk.Label(dialog, text="价格").pack(pady=5)
price_entry = tk.Entry(dialog)
price_entry.pack(pady=5)
def add_menu():
ID = id_entry.get()
name = name_entry.get()
m_class = class_entry.get()
price = float(price_entry.get())
query = "INSERT INTO Menus (M_id, M_name, M_class, M_price) VALUES (%s, %s, %s, %s)"
self.cursor.execute(query, (ID, name, m_class, price))
self.db_connection.commit()
self.load_menus()
dialog.destroy()
ttk.Button(dialog, text="确定", command=add_menu).pack(pady=20)
def on_subtraction_menu_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("删除菜单")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
def subtraction_menu():
ID = id_entry.get()
# 检查菜单是否存在
query = "SELECT * FROM menus WHERE M_id = %s"
self.cursor.execute(query, (ID,))
menu_data = self.cursor.fetchall()
if not menu_data:
messagebox.showerror("错误", "菜单不存在,无法删除。")
return
query = "DELETE FROM menus WHERE M_id=(%s)"
self.cursor.execute(query, (ID, ))
self.db_connection.commit()
self.load_menus()
dialog.destroy()
ttk.Button(dialog, text="确定", command=subtraction_menu).pack(pady=20)
def load_menus(self):
for item in self.menu_tree.get_children():
self.menu_tree.delete(item)
self.cursor.execute("SELECT * FROM Menus")
for row in self.cursor.fetchall():
self.menu_tree.insert('', 'end', values=row)
# 订单管理
def create_order_page(self):
order_frame = ttk.Frame(self.notebook)
self.notebook.add(order_frame, text="订单管理")
add_order_button = ttk.Button(order_frame, text="添加订单", command=self.on_add_order_button_clicked)
add_order_button.pack(pady=5)
subtraction_order_button = ttk.Button(order_frame, text="删除订单", command=self.subtraction_order_button_clicked)
subtraction_order_button.pack(pady=10)
self.order_tree = ttk.Treeview(order_frame, columns=("订单ID", "顾客ID", "时间", "餐桌ID", "员工ID"), show='headings')
for col in self.order_tree["columns"]:
self.order_tree.heading(col, text=col)
self.order_tree.pack(expand=1, fill='both')
self.load_orders()
def on_add_order_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("添加订单")
tk.Label(dialog, text="订单ID").pack(pady=5)
oid_entry = tk.Entry(dialog)
oid_entry.pack(pady=5)
tk.Label(dialog, text="顾客ID").pack(pady=5)
tid_entry = tk.Entry(dialog)
tid_entry.pack(pady=5)
tk.Label(dialog, text="时间").pack(pady=5)
time_entry = tk.Entry(dialog)
time_entry.pack(pady=5)
tk.Label(dialog, text="餐桌ID").pack(pady=5)
czid_entry = tk.Entry(dialog)
czid_entry.pack(pady=5)
tk.Label(dialog, text="员工ID").pack(pady=5)
wid_entry = tk.Entry(dialog)
wid_entry.pack(pady=5)
def add_order():
oid = oid_entry.get()
tid = tid_entry.get()
time = time_entry.get()
czid = czid_entry.get()
wid = wid_entry.get()
query = "INSERT INTO oder (O_id, T_id, time, Cz_id, W_id) VALUES (%s, %s, %s, %s, %s)"
self.cursor.execute(query, (oid, tid, time, czid, wid))
self.db_connection.commit()
self.load_orders()
dialog.destroy()
ttk.Button(dialog, text="确定", command=add_order).pack(pady=20)
def subtraction_order_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("删除订单")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
def subtraction_order():
ID = id_entry.get()
# 检查订单是否存在
query = "SELECT * FROM oder WHERE O_id = %s"
self.cursor.execute(query, (ID,))
order_data = self.cursor.fetchall()
if not order_data:
messagebox.showerror("错误", "订单不存在,无法删除。")
return
query = "DELETE FROM oder WHERE O_id=(%s)"
self.cursor.execute(query, (ID,))
self.db_connection.commit()
self.load_orders()
dialog.destroy()
ttk.Button(dialog, text="确定", command=subtraction_order).pack(pady=20)
def load_orders(self):
for item in self.order_tree.get_children():
self.order_tree.delete(item)
self.cursor.execute("SELECT * FROM oder")
for row in self.cursor.fetchall():
self.order_tree.insert('', 'end', values=row)
# 员工管理
def create_worker_page(self):
worker_frame = ttk.Frame(self.notebook)
self.notebook.add(worker_frame, text="员工管理")
add_worker_button = ttk.Button(worker_frame, text="添加员工", command=self.on_add_worker_button_clicked)
add_worker_button.pack(pady=5)
subtraction_worker_button = ttk.Button(worker_frame, text="开除员工", command=self.on_subtraction_worker_button_clicked)
subtraction_worker_button.pack(pady=10)
self.worker_tree = ttk.Treeview(worker_frame, columns=("ID", "姓名", "性别", "年龄", "工资"), show='headings')
for col in self.worker_tree["columns"]:
self.worker_tree.heading(col, text=col)
self.worker_tree.pack(expand=1, fill='both')
self.load_workers()
def on_add_worker_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("添加员工")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
tk.Label(dialog, text="姓名").pack(pady=5)
name_entry = tk.Entry(dialog)
name_entry.pack(pady=5)
tk.Label(dialog, text="性别").pack(pady=5)
sex_entry = tk.Entry(dialog)
sex_entry.pack(pady=5)
tk.Label(dialog, text="年龄").pack(pady=5)
age_entry = tk.Entry(dialog)
age_entry.pack(pady=5)
tk.Label(dialog, text="工资").pack(pady=5)
salary_entry = tk.Entry(dialog)
salary_entry.pack(pady=5)
def add_worker():
ID = id_entry.get()
name = name_entry.get()
sex = sex_entry.get()
age = int(age_entry.get())
salary = float(salary_entry.get())
query = "INSERT INTO worker (W_id, W_name, W_sex, W_age, W_salary) VALUES (%s, %s, %s, %s, %s)"
self.cursor.execute(query, (ID, name, sex, age, salary))
self.db_connection.commit()
self.load_workers()
dialog.destroy()
ttk.Button(dialog, text="确定", command=add_worker).pack(pady=20)
def on_subtraction_worker_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("开除员工")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
def subtraction_worker():
ID = id_entry.get()
# 检查员工是否存在
query = "SELECT * FROM worker WHERE W_id = %s"
self.cursor.execute(query, (ID,))
worker_data = self.cursor.fetchall()
if not worker_data:
messagebox.showerror("错误", "员工不存在,无法删除。")
return
query = "DELETE FROM worker WHERE W_id=(%s)"
self.cursor.execute(query, (ID,))
self.db_connection.commit()
self.load_workers()
dialog.destroy()
ttk.Button(dialog, text="确定", command=subtraction_worker).pack(pady=20)
def load_workers(self):
for item in self.worker_tree.get_children():
self.worker_tree.delete(item)
self.cursor.execute("SELECT * FROM Worker")
for row in self.cursor.fetchall():
self.worker_tree.insert('', 'end', values=row)
# 会员管理
def create_tomer_page(self):
tomer_frame = ttk.Frame(self.notebook)
self.notebook.add(tomer_frame, text="会员管理")
add_tomer_button = ttk.Button(tomer_frame, text="添加会员", command=self.on_add_tomer_button_clicked)
add_tomer_button.pack(pady=5)
subtraction_tomer_button = ttk.Button(tomer_frame, text="删除会员", command=self.on_subtraction_tomer_button_clicked)
subtraction_tomer_button.pack(pady=10)
self.tomer_tree = ttk.Treeview(tomer_frame, columns=("ID", "姓名", "性别", "电话"), show='headings')
for col in self.tomer_tree["columns"]:
self.tomer_tree.heading(col, text=col)
self.tomer_tree.pack(expand=1, fill='both')
self.load_tomer()
def on_add_tomer_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("添加会员")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
tk.Label(dialog, text="姓名").pack(pady=5)
name_entry = tk.Entry(dialog)
name_entry.pack(pady=5)
tk.Label(dialog, text="性别").pack(pady=5)
sex_entry = tk.Entry(dialog)
sex_entry.pack(pady=5)
tk.Label(dialog, text="电话").pack(pady=5)
phone_entry = tk.Entry(dialog)
phone_entry.pack(pady=5)
def add_tomer():
ID = id_entry.get()
name = name_entry.get()
t_sex = sex_entry.get()
phone = phone_entry.get()
query = "INSERT INTO tomer (T_id, T_name, T_rsex, T_phone) VALUES (%s, %s, %s, %s)"
self.cursor.execute(query, (ID, name, t_sex, phone))
self.db_connection.commit()
self.load_tomer()
dialog.destroy()
ttk.Button(dialog, text="确定", command=add_tomer).pack(pady=20)
def on_subtraction_tomer_button_clicked(self):
dialog = tk.Toplevel()
dialog.title("删除会员")
tk.Label(dialog, text="ID").pack(pady=5)
id_entry = tk.Entry(dialog)
id_entry.pack(pady=5)
def subtraction_tomer():
ID = id_entry.get()
# 检查会员是否存在
query = "SELECT * FROM tomer WHERE T_id = %s"
self.cursor.execute(query, (ID,))
tomer_data = self.cursor.fetchall()
if not tomer_data:
messagebox.showerror("错误", "会员不存在,无法删除。")
return
query = "DELETE FROM tomer WHERE T_id=(%s)"
self.cursor.execute(query, (ID, ))
self.db_connection.commit()
self.load_tomer()
dialog.destroy()
ttk.Button(dialog, text="确定", command=subtraction_tomer).pack(pady=20)
def load_tomer(self):
for item in self.tomer_tree.get_children():
self.tomer_tree.delete(item)
self.cursor.execute("SELECT * FROM tomer")
for row in self.cursor.fetchall():
self.tomer_tree.insert('', 'end', values=row)
if __name__ == "__main__":
root = tk.Tk()
app = DatabaseManager(root)
root.mainloop()
运行结果应该是下图
数据库的连接,就连你自己的,起的啥名就改成什么,改这一块
数据库的SQL代码如下:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for discount_rules
-- ----------------------------
DROP TABLE IF EXISTS `discount_rules`;
CREATE TABLE `discount_rules` (
`Je` float NOT NULL,
`Zk` float DEFAULT NULL,
PRIMARY KEY (`Je`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of discount_rules
-- ----------------------------
INSERT INTO `discount_rules` VALUES ('100', '9.9');
INSERT INTO `discount_rules` VALUES ('200', '9.5');
INSERT INTO `discount_rules` VALUES ('300', '9.2');
INSERT INTO `discount_rules` VALUES ('500', '9');
INSERT INTO `discount_rules` VALUES ('1000', '8.5');
-- ----------------------------
-- Table structure for foodtable
-- ----------------------------
DROP TABLE IF EXISTS `foodtable`;
CREATE TABLE `foodtable` (
`Cz_id` varchar(10) NOT NULL,
`Cz_number` int(11) NOT NULL,
`Cz_zt` varchar(6) DEFAULT NULL,
PRIMARY KEY (`Cz_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of foodtable
-- ----------------------------
INSERT INTO `foodtable` VALUES ('1', '6', '有人');
INSERT INTO `foodtable` VALUES ('2', '6', '空');
INSERT INTO `foodtable` VALUES ('3', '6', '空');
INSERT INTO `foodtable` VALUES ('4', '6', '空');
INSERT INTO `foodtable` VALUES ('5', '8', '空');
INSERT INTO `foodtable` VALUES ('6', '8', '有人');
INSERT INTO `foodtable` VALUES ('7', '8', '有人');
INSERT INTO `foodtable` VALUES ('8', '8', '空');
INSERT INTO `foodtable` VALUES ('9', '10', '有人');
-- ----------------------------
-- Table structure for menus
-- ----------------------------
DROP TABLE IF EXISTS `menus`;
CREATE TABLE `menus` (
`M_id` varchar(10) NOT NULL,
`M_name` varchar(20) DEFAULT NULL,
`M_class` varchar(10) DEFAULT NULL,
`M_price` float DEFAULT NULL,
PRIMARY KEY (`M_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of menus
-- ----------------------------
INSERT INTO `menus` VALUES ('001', '小鸡炖蘑菇', '荤素搭配', '49.99');
INSERT INTO `menus` VALUES ('002', '黄焖鸡', '荤', '12');
INSERT INTO `menus` VALUES ('003', '混沌', '荤', '10');
INSERT INTO `menus` VALUES ('004', '混沌', '素', '8');
INSERT INTO `menus` VALUES ('005', '兰州拉面', '素', '10');
INSERT INTO `menus` VALUES ('006', '鸭血粉丝', '荤素搭配', '9.99');
INSERT INTO `menus` VALUES ('007', '小酥肉', '荤', '11.99');
INSERT INTO `menus` VALUES ('008', '大盘鸡', '荤', '55.99');
INSERT INTO `menus` VALUES ('009', '烤鱼', '荤', '20.99');
INSERT INTO `menus` VALUES ('010', '花生米', '小吃', '5.99');
INSERT INTO `menus` VALUES ('011', '啤酒', '饮品', '4.5');
INSERT INTO `menus` VALUES ('012', '腐竹', '素', '10');
INSERT INTO `menus` VALUES ('013', '拍黄瓜', '素', '5.5');
-- ----------------------------
-- Table structure for menus_oder
-- ----------------------------
DROP TABLE IF EXISTS `menus_oder`;
CREATE TABLE `menus_oder` (
`O_id` varchar(10) NOT NULL,
`M_id` varchar(10) NOT NULL,
`M_name` varchar(10) DEFAULT NULL,
`M_number` int(11) NOT NULL,
PRIMARY KEY (`M_id`,`O_id`),
KEY `O_id` (`O_id`),
CONSTRAINT `menus_oder_ibfk_1` FOREIGN KEY (`M_id`) REFERENCES `menus` (`M_id`),
CONSTRAINT `menus_oder_ibfk_2` FOREIGN KEY (`O_id`) REFERENCES `oder` (`O_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of menus_oder
-- ----------------------------
INSERT INTO `menus_oder` VALUES ('000001', '001', '小鸡炖蘑菇', '20');
INSERT INTO `menus_oder` VALUES ('000020', '001', '兰州拉面', '23');
INSERT INTO `menus_oder` VALUES ('000002', '002', '黄焖鸡', '24');
INSERT INTO `menus_oder` VALUES ('000003', '003', '混沌', '25');
INSERT INTO `menus_oder` VALUES ('000007', '003', '混沌', '40');
INSERT INTO `menus_oder` VALUES ('000013', '003', '小鸡炖蘑菇', '25');
INSERT INTO `menus_oder` VALUES ('000015', '003', '腐竹', '38');
INSERT INTO `menus_oder` VALUES ('000018', '003', '鸭血粉丝', '50');
INSERT INTO `menus_oder` VALUES ('000004', '004', '混沌', '23');
INSERT INTO `menus_oder` VALUES ('000014', '004', '兰州拉面', '23');
INSERT INTO `menus_oder` VALUES ('000005', '005', '兰州拉面', '28');
INSERT INTO `menus_oder` VALUES ('000008', '005', '烤鱼', '50');
INSERT INTO `menus_oder` VALUES ('000016', '005', '兰州拉面', '40');
INSERT INTO `menus_oder` VALUES ('000005', '006', '鸭血粉丝', '38');
INSERT INTO `menus_oder` VALUES ('000010', '006', '兰州拉面', '23');
INSERT INTO `menus_oder` VALUES ('000014', '006', '花生米', '28');
INSERT INTO `menus_oder` VALUES ('000017', '006', '混沌', '40');
INSERT INTO `menus_oder` VALUES ('000006', '007', '小酥肉', '40');
INSERT INTO `menus_oder` VALUES ('000009', '008', '烤鱼', '46');
INSERT INTO `menus_oder` VALUES ('000012', '008', '黄焖鸡', '24');
INSERT INTO `menus_oder` VALUES ('000019', '008', '拌黄瓜', '46');
INSERT INTO `menus_oder` VALUES ('000011', '009', '鸭血粉丝', '20');
-- ----------------------------
-- Table structure for oder
-- ----------------------------
DROP TABLE IF EXISTS `oder`;
CREATE TABLE `oder` (
`O_id` varchar(10) NOT NULL,
`T_id` varchar(10) NOT NULL,
`time` datetime NOT NULL,
`Cz_id` varchar(10) NOT NULL,
`W_id` varchar(10) NOT NULL,
PRIMARY KEY (`O_id`),
KEY `T_id` (`T_id`),
KEY `Cz_id` (`Cz_id`),
KEY `W_id` (`W_id`),
CONSTRAINT `oder_ibfk_1` FOREIGN KEY (`T_id`) REFERENCES `tomer` (`T_id`),
CONSTRAINT `oder_ibfk_2` FOREIGN KEY (`Cz_id`) REFERENCES `foodtable` (`Cz_id`),
CONSTRAINT `oder_ibfk_3` FOREIGN KEY (`W_id`) REFERENCES `worke` (`W_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of oder
-- ----------------------------
INSERT INTO `oder` VALUES ('000001', '00001', '2020-06-01 09:30:45', '1', '01');
INSERT INTO `oder` VALUES ('000002', '00002', '2021-06-22 16:15:31', '2', '02');
INSERT INTO `oder` VALUES ('000003', '00003', '2021-06-22 16:15:57', '3', '03');
INSERT INTO `oder` VALUES ('000004', '00004', '2021-06-22 16:16:19', '4', '04');
INSERT INTO `oder` VALUES ('000005', '00005', '2021-06-22 16:16:40', '5', '05');
INSERT INTO `oder` VALUES ('000006', '00006', '2021-06-22 16:17:01', '6', '06');
INSERT INTO `oder` VALUES ('000007', '00007', '2021-06-22 16:17:23', '7', '07');
INSERT INTO `oder` VALUES ('000008', '00008', '2021-06-22 16:17:47', '8', '08');
INSERT INTO `oder` VALUES ('000009', '00009', '2021-06-22 16:18:07', '9', '09');
INSERT INTO `oder` VALUES ('000010', '00010', '2021-06-22 16:18:30', '1', '10');
INSERT INTO `oder` VALUES ('000011', '00011', '2021-06-22 16:19:08', '2', '01');
INSERT INTO `oder` VALUES ('000012', '00012 ', '2021-06-22 16:19:28', '3', '02');
INSERT INTO `oder` VALUES ('000013', '00013', '2021-06-22 16:19:53', '4', '03');
INSERT INTO `oder` VALUES ('000014', '00014', '2021-06-22 16:20:17', '5', '04');
INSERT INTO `oder` VALUES ('000015', '00015', '2021-06-22 16:20:40', '6', '05');
INSERT INTO `oder` VALUES ('000016', '00016', '2021-06-22 16:21:08', '7', '06');
INSERT INTO `oder` VALUES ('000017', '00017', '2021-06-22 16:21:33', '8', '07');
INSERT INTO `oder` VALUES ('000018', '00018', '2021-06-22 16:21:54', '9', '08');
INSERT INTO `oder` VALUES ('000019', '00019', '2021-06-22 16:22:12', '1', '09');
INSERT INTO `oder` VALUES ('000020', '00020', '2021-06-22 16:22:34', '2', '10');
-- ----------------------------
-- Table structure for sales_bill
-- ----------------------------
DROP TABLE IF EXISTS `sales_bill`;
CREATE TABLE `sales_bill` (
`O_id` varchar(10) NOT NULL,
`S_price` float DEFAULT NULL,
`S_priceafter` float DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY (`O_id`),
CONSTRAINT `sales_bill_ibfk_1` FOREIGN KEY (`O_id`) REFERENCES `oder` (`O_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of sales_bill
-- ----------------------------
INSERT INTO `sales_bill` VALUES ('000001', '100.07', '99.0693', '2021-06-22 16:42:22');
INSERT INTO `sales_bill` VALUES ('000002', '120.25', '119.048', '2021-06-22 16:42:24');
INSERT INTO `sales_bill` VALUES ('000003', '132.52', '131.195', '2021-06-22 16:42:28');
INSERT INTO `sales_bill` VALUES ('000004', '154.42', '152.876', '2021-06-22 16:42:31');
INSERT INTO `sales_bill` VALUES ('000005', '2546.2', '2164.27', '2021-06-22 16:42:35');
INSERT INTO `sales_bill` VALUES ('000006', '487.45', '448.454', '2021-06-22 16:42:38');
INSERT INTO `sales_bill` VALUES ('000007', '165.23', '163.578', '2021-06-22 16:42:41');
INSERT INTO `sales_bill` VALUES ('000008', '235.55', '223.773', '2021-06-22 16:42:44');
INSERT INTO `sales_bill` VALUES ('000009', '345.26', '317.639', '2021-06-22 16:42:47');
INSERT INTO `sales_bill` VALUES ('000010', '256.42', '243.599', '2021-06-22 16:42:50');
INSERT INTO `sales_bill` VALUES ('000011', '354.42', '326.006', '2021-06-22 16:42:52');
INSERT INTO `sales_bill` VALUES ('000012', '145.23', '143.778', '2021-06-22 16:42:54');
INSERT INTO `sales_bill` VALUES ('000013', '200.12', '190.114', '2021-06-22 16:42:57');
INSERT INTO `sales_bill` VALUES ('000014', '300.14', '276.129', '2021-06-22 16:42:59');
INSERT INTO `sales_bill` VALUES ('000015', '1000.23', '850.195', '2021-06-22 16:43:01');
INSERT INTO `sales_bill` VALUES ('000016', '154.15', '152.609', '2021-06-22 16:43:03');
INSERT INTO `sales_bill` VALUES ('000017', '1120.23', '952.192', '2021-06-22 16:43:05');
INSERT INTO `sales_bill` VALUES ('000018', '1523.45', '1294.93', '2021-06-22 16:43:08');
INSERT INTO `sales_bill` VALUES ('000019', '123.23', '121.998', '2021-06-22 16:43:11');
INSERT INTO `sales_bill` VALUES ('000020', '154.5', '326.14', '2021-06-22 16:43:14');
-- ----------------------------
-- Table structure for tomer
-- ----------------------------
DROP TABLE IF EXISTS `tomer`;
CREATE TABLE `tomer` (
`T_id` varchar(10) NOT NULL,
`T_name` varchar(10) NOT NULL,
`T_rsex` varchar(4) DEFAULT NULL,
`T_phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`T_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tomer
-- ----------------------------
INSERT INTO `tomer` VALUES ('00001', '李一', '男', '12345678910');
INSERT INTO `tomer` VALUES ('00002', '李二', '男', '11345678910');
INSERT INTO `tomer` VALUES ('00003', '李三', '男', '12145678910');
INSERT INTO `tomer` VALUES ('00004', '李四', '男', '12315678910');
INSERT INTO `tomer` VALUES ('00005', '李五', '男', '12341678910');
INSERT INTO `tomer` VALUES ('00006', '李六', '男', '12345178910');
INSERT INTO `tomer` VALUES ('00007', '李七', '女', '15936053010');
INSERT INTO `tomer` VALUES ('00008', '李八', '女', '12345671910');
INSERT INTO `tomer` VALUES ('00009', '李九', '女', '12345678110');
INSERT INTO `tomer` VALUES ('00010', '李十', '男', '12345678900');
INSERT INTO `tomer` VALUES ('00011', '田一', '男', '12345678911');
INSERT INTO `tomer` VALUES ('00012 ', '田二', '男', '10345678910');
INSERT INTO `tomer` VALUES ('00013', '田三', '男', '12045678910');
INSERT INTO `tomer` VALUES ('00014', '田四', '男', '12305678910');
INSERT INTO `tomer` VALUES ('00015', '田五', '女', '12340678910');
INSERT INTO `tomer` VALUES ('00016', '田六', '女', '12345078910');
INSERT INTO `tomer` VALUES ('00017', '田七', '女', '12345608910');
INSERT INTO `tomer` VALUES ('00018', '田八', '女', '12345670910');
INSERT INTO `tomer` VALUES ('00019', '田九', '男', '12345678010');
INSERT INTO `tomer` VALUES ('00020', '暴徒', '男', '12345678920');
-- ----------------------------
-- Table structure for worke
-- ----------------------------
DROP TABLE IF EXISTS `worke`;
CREATE TABLE `worke` (
`W_id` varchar(10) NOT NULL,
`W_name` varchar(10) DEFAULT NULL,
`W_sex` varchar(4) DEFAULT NULL,
`W_age` int(11) DEFAULT NULL,
`W_salary` float DEFAULT NULL,
PRIMARY KEY (`W_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of worke
-- ----------------------------
INSERT INTO `worke` VALUES ('01', '张一', '男', '21', '5200');
INSERT INTO `worke` VALUES ('02', '张二', '男', '21', '5100');
INSERT INTO `worke` VALUES ('03', '张三', '男', '22', '5000');
INSERT INTO `worke` VALUES ('04', '张四', '男', '22', '4900');
INSERT INTO `worke` VALUES ('05', '张五', '男', '22', '4800');
INSERT INTO `worke` VALUES ('06', '张六', '女', '21', '5200');
INSERT INTO `worke` VALUES ('07', '张七', '女', '20', '5100');
INSERT INTO `worke` VALUES ('08', '张八', '女', '20', '5000');
INSERT INTO `worke` VALUES ('09', '张九', '女', '20', '5000');
INSERT INTO `worke` VALUES ('10', '不可以色色', '女', '20', '5000');
-- ----------------------------
-- View structure for tomer_t
-- ----------------------------
DROP VIEW IF EXISTS `tomer_t`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `tomer_t` AS select `tomer`.`T_id` AS `T_id`,`tomer`.`T_name` AS `T_name`,`tomer`.`T_rsex` AS `T_rsex`,`tomer`.`T_phone` AS `T_phone` from `tomer` where (`tomer`.`T_rsex` = '女') ;
里面的错单词为woke->woker,T_rsex->T_sex,oder->order