《红楼梦》学生表 MySQL 操作语句
以下是完整的 MySQL SQL 语句示例。我们假设使用《红楼梦》中的主要人物作为“学生”数据。语句顺序执行,便于在 MySQL 客户端(如 MySQL Workbench)中直接运行。
1. 创建数据库和表
-- 创建数据库(如果不存在)
CREATE DATABASE IF NOT EXISTS honglou_db;
USE honglou_db;
-- 创建学生表:id(主键,自增)、name(姓名)、age(年龄)、classroom(班级)
CREATE TABLE IF NOT EXISTS students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
classroom VARCHAR(50)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2. 添加初始数据
-- 插入《红楼梦》人物作为学生数据
INSERT INTO students (name, age, classroom) VALUES
('贾宝玉', 16, '怡红院班'),
('林黛玉', 15, '潇湘馆班'),
('薛宝钗', 16, '蘅芜苑班'),
('王熙凤', 20, '荣禧堂班'),
('史湘云', 15, '稻香村班'),
('贾探春', 14, '秋爽斋班');
3. 增删改查(CRUD)操作示例
查(Read):查询所有学生,或按条件查询
-- 查询所有学生
SELECT * FROM students;
-- 条件查询:年龄小于16岁的“潇湘馆班”学生
SELECT * FROM students WHERE age < 16 AND classroom = '潇湘馆班';
示例输出(所有学生,假设已插入数据):
| id | name | age | classroom |
|---|---|---|---|
| 1 | 贾宝玉 | 16 | 怡红院班 |
| 2 | 林黛玉 | 15 | 潇湘馆班 |
| 3 | 薛宝钗 | 16 | 蘅芜苑班 |
| 4 | 王熙凤 | 20 | 荣禧堂班 |
| 5 | 史湘云 | 15 | 稻香村班 |
| 6 | 贾探春 | 14 | 秋爽斋班 |
增(Create):添加新学生(例如贾元春)
-- 插入新记录
INSERT INTO students (name, age, classroom) VALUES ('贾元春', 22, '省亲别墅班');
-- 验证:查询最新一条记录
SELECT * FROM students ORDER BY id DESC LIMIT 1;
改(Update):修改数据(例如给林黛玉改年龄)
-- 更新记录
UPDATE students SET age = 16 WHERE name = '林黛玉';
-- 验证
SELECT * FROM students WHERE name = '林黛玉';
删(Delete):删除学生(例如删除史湘云)
-- 删除记录
DELETE FROM students WHERE name = '史湘云';
-- 验证剩余数据
SELECT * FROM students;
运行提示
- 先执行创建数据库和表的语句。
- 所有语句支持事务:用
START TRANSACTION;开始,COMMIT;提交,ROLLBACK;回滚。 - 如果需要查看表结构:
DESCRIBE students;或SHOW CREATE TABLE students;。 - 这些语句兼容 MySQL 5.7+ 版本。