创建一个包含订单信息、菜品信息、顾客信息。查找顾客表信息、查找菜品价格大于30的菜品编号、增加一道菜品信息、删除一道菜品信息、删除菜品编号为1001的信息、修改顾客编号为1003的订单信息、查询顾客编号为1005的所有信息、查询菜品的平均价格、查询菜品表,使菜品价格按降序排列、查询菜品订单编号为1004的所有信息、查询菜品份数等于1的商品信息、查询顾客表,使用餐人数用降序排列、查询价格在10到20的菜品信息、统计菜品数量、查询比平均菜品价格高的菜品信息的数据库
时间: 2023-09-11 15:09:33 浏览: 160
根据您的要求,以下是一个基于MySQL数据库的示例代码,包含创建表、插入数据和执行各种查询和操作的SQL语句:
```sql
-- 创建顾客表
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
customer_name VARCHAR(50),
customer_email VARCHAR(50)
);
-- 创建菜品表
CREATE TABLE dishes (
dish_id INT PRIMARY KEY,
dish_name VARCHAR(50),
dish_price DECIMAL(10, 2)
);
-- 创建订单表
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
dish_id INT,
quantity INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id),
FOREIGN KEY (dish_id) REFERENCES dishes(dish_id)
);
-- 插入顾客信息
INSERT INTO customers (customer_id, customer_name, customer_email)
VALUES
(1001, 'John Doe', 'john.doe@example.com'),
(1002, 'Jane Smith', 'jane.smith@example.com'),
(1003, 'Mike Johnson', 'mike.johnson@example.com'),
(1004, 'Emily Brown', 'emily.brown@example.com'),
(1005, 'David Lee', 'david.lee@example.com');
-- 插入菜品信息
INSERT INTO dishes (dish_id, dish_name, dish_price)
VALUES
(2001, 'Steak', 35.99),
(2002, 'Salmon', 28.50),
(2003, 'Pasta', 18.75),
(2004, 'Pizza', 12.99),
(2005, 'Burger', 15.50);
-- 插入订单信息
INSERT INTO orders (order_id, customer_id, dish_id, quantity)
VALUES
(3001, 1001, 2001, 2),
(3002, 1002, 2004, 1),
(3003, 1003, 2002, 3),
(3004, 1004, 2003, 2),
(3005, 1005, 2005, 1);
-- 查询顾客表信息
SELECT * FROM customers;
-- 查询菜品价格大于30的菜品编号
SELECT dish_id FROM dishes WHERE dish_price > 30;
-- 增加一道菜品信息
INSERT INTO dishes (dish_id, dish_name, dish_price)
VALUES (2006, 'Sushi', 42.99);
-- 删除一道菜品信息
DELETE FROM dishes WHERE dish_id = 2006;
-- 删除菜品编号为1001的信息
DELETE FROM dishes WHERE dish_id = 1001;
-- 修改顾客编号为1003的订单信息
UPDATE orders SET quantity = 5 WHERE customer_id = 1003;
-- 查询顾客编号为1005的所有信息
SELECT * FROM customers WHERE customer_id = 1005;
-- 查询菜品的平均价格
SELECT AVG(dish_price) AS avg_price FROM dishes;
-- 查询菜品表,使菜品价格按降序排列
SELECT * FROM dishes ORDER BY dish_price DESC;
-- 查询菜品订单编号为1004的所有信息
SELECT * FROM orders WHERE order_id = 1004;
-- 查询菜品份数等于1的商品信息
SELECT * FROM orders WHERE quantity = 1;
-- 查询顾客表,使用餐人数用降序排列
SELECT * FROM customers ORDER BY customer_id DESC;
-- 查询价格在10到20的菜品信息
SELECT * FROM dishes WHERE dish_price BETWEEN 10 AND 20;
-- 统计菜品数量
SELECT COUNT(*) AS dish_count FROM dishes;
-- 查询比平均菜品价格高的菜品信息
SELECT * FROM dishes WHERE dish_price > (SELECT AVG(dish_price) FROM dishes);
```
请注意,这只是一个示例代码,并且基于MySQL数据库。如果您使用其他数据库系统,语法和函数可能会有所不同。请根据您使用的数据库类型进行适当的调整。
阅读全文