mysql电影院练习题
时间: 2023-10-14 12:28:19 浏览: 96
好的,下面是一个简单的 MySQL 电影院练习题,希望对你有所帮助。
假设你正在为一个电影院设计数据库,需要记录以下信息:
1. 电影信息:电影名称、导演、主演、上映时间、片长、票价等。
2. 影厅信息:影厅名称、座位数、影厅类型等。
3. 用户信息:用户名、密码、电话等。
4. 订单信息:订单号、用户ID、电影名称、影厅名称、座位信息、票价等。
根据以上信息,你需要设计数据库表,并写出相应的 SQL 语句实现以下功能:
1. 创建电影信息表、影厅信息表、用户信息表、订单信息表。
2. 插入一条电影信息、一条影厅信息、一条用户信息、一条订单信息。
3. 查询所有电影信息、所有影厅信息、所有用户信息、所有订单信息。
4. 根据电影名称查询电影信息。
5. 根据影厅名称查询影厅信息。
6. 根据用户名查询用户信息。
7. 根据订单号查询订单信息。
8. 根据用户ID查询该用户的所有订单信息。
9. 更新某个订单的票价信息。
10. 删除某个用户的所有订单信息。
下面是一个简单的 MySQL 电影院练习题的解答,仅供参考:
1. 创建电影信息表、影厅信息表、用户信息表、订单信息表。
```sql
CREATE TABLE movie (
movie_id INT AUTO_INCREMENT PRIMARY KEY,
movie_name VARCHAR(50) NOT NULL,
director VARCHAR(50),
actor VARCHAR(100),
release_date DATE,
duration INT,
price DECIMAL(5,2)
);
CREATE TABLE hall (
hall_id INT AUTO_INCREMENT PRIMARY KEY,
hall_name VARCHAR(50) NOT NULL,
seat_count INT,
hall_type VARCHAR(20)
);
CREATE TABLE user (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
phone VARCHAR(20)
);
CREATE TABLE order (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
movie_name VARCHAR(50) NOT NULL,
hall_name VARCHAR(50) NOT NULL,
seat_info VARCHAR(50) NOT NULL,
price DECIMAL(5,2),
FOREIGN KEY (user_id) REFERENCES user(user_id)
);
```
2. 插入一条电影信息、一条影厅信息、一条用户信息、一条订单信息。
```sql
INSERT INTO movie (movie_name, director, actor, release_date, duration, price)
VALUES ('The Godfather', 'Francis Ford Coppola', 'Marlon Brando, Al Pacino, James Caan', '1972-03-24', 175, 10.00);
INSERT INTO hall (hall_name, seat_count, hall_type)
VALUES ('Hall 1', 100, 'IMAX');
INSERT INTO user (username, password, phone)
VALUES ('John', '123456', '12345678901');
INSERT INTO order (user_id, movie_name, hall_name, seat_info, price)
VALUES (1, 'The Godfather', 'Hall 1', 'A1,A2,A3', 30.00);
```
3. 查询所有电影信息、所有影厅信息、所有用户信息、所有订单信息。
```sql
SELECT * FROM movie;
SELECT * FROM hall;
SELECT * FROM user;
SELECT * FROM order;
```
4. 根据电影名称查询电影信息。
```sql
SELECT * FROM movie WHERE movie_name = 'The Godfather';
```
5. 根据影厅名称查询影厅信息。
```sql
SELECT * FROM hall WHERE hall_name = 'Hall 1';
```
6. 根据用户名查询用户信息。
```sql
SELECT * FROM user WHERE username = 'John';
```
7. 根据订单号查询订单信息。
```sql
SELECT * FROM order WHERE order_id = 1;
```
8. 根据用户ID查询该用户的所有订单信息。
```sql
SELECT * FROM order WHERE user_id = 1;
```
9. 更新某个订单的票价信息。
```sql
UPDATE order SET price = 20.00 WHERE order_id = 1;
```
10. 删除某个用户的所有订单信息。
```sql
DELETE FROM order WHERE user_id = 1;
```
阅读全文