MySQL实战:一如老师带你轻松掌握数据库表操作
大家好,我是一如老师!今天为大家带来一套MySQL表操作的练习题集,涵盖创建表、主键与外键约束、修改表结构、删除表等操作。通过这些题目,你将全面掌握MySQL中最常用的表操作语句。每个问题都会配有详细的参考代码和解析,让你在实战中不断提升。
4.1 创建表及约束设置
4.1.1 创建表的语法形式
题目要求:创建一个学生表,包含student_id
(自增主键),student_name
(不可为空),age
(默认值为18)。
SQL参考代码:
CREATE TABLE students (
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(50) NOT NULL,
age INT DEFAULT 18
);
解析:此题考查基础建表语法。AUTO_INCREMENT
设置主键自增,NOT NULL
和DEFAULT
设置字段约束。
4.1.2 使用主键约束
题目要求:在创建的教师表中,使用teacher_id
作为主键。
SQL参考代码:
CREATE TABLE teachers (
teacher_id INT PRIMARY KEY,
teacher_name VARCHAR(50)
);
解析:PRIMARY KEY
关键字用于声明该字段为主键。
4.1.3 使用外键约束
题目要求:将学生表中的teacher_id
与教师表的teacher_id
关联。
SQL参考代码:
ALTER TABLE students ADD CONSTRAINT fk_teacher FOREIGN KEY (teacher_id) REFERENCES teachers(teacher_id);
解析:外键约束FOREIGN KEY
用于建立表与表之间的关系,确保数据的完整性。
4.2 查看表结构
4.2.1 查看表基本结构语句DESCRIBE
题目要求:查看students
表的结构。
SQL参考代码:
DESCRIBE students;
解析:DESCRIBE
语句用于显示表的字段、数据类型及相关约束。
4.2.2 查看表详细结构语句SHOW CREATE TABLE
题目要求:查看teachers
表的创建语句。
SQL参考代码:
SHOW CREATE TABLE teachers;
解析:SHOW CREATE TABLE
用于查看完整的建表语句,包括主键、外键等约束。
4.3 修改表结构
4.3.1 修改表名
题目要求:将students
表改名为student_info
。
SQL参考代码:
ALTER TABLE students RENAME TO student_info;
解析:RENAME
用于修改表名。
4.3.2 修改字段的数据类型
题目要求:将student_info
表中的age
字段的数据类型改为TINYINT
。
SQL参考代码:
ALTER TABLE student_info MODIFY age TINYINT;
解析:MODIFY
用于更改字段的数据类型。
4.3.3 修改字段名
题目要求:将student_info
表中的student_name
字段改为full_name
。
SQL参考代码:
ALTER TABLE student_info CHANGE student_name full_name VARCHAR(100);
解析:CHANGE
不仅可以修改字段名,还可以同时修改数据类型。
4.3.4 添加字段
题目要求:在student_info
表中添加email
字段,放在full_name
字段之后。
SQL参考代码:
ALTER TABLE student_info ADD email VARCHAR(100) AFTER full_name;
解析:ADD
用于添加新字段,AFTER
用于指定新字段的排列位置。
4.3.5 删除字段
题目要求:删除student_info
表中的email
字段。
SQL参考代码:
ALTER TABLE student_info DROP COLUMN email;
解析:DROP COLUMN
用于删除表中的字段。
4.3.6 修改字段的排列位置
题目要求:将student_info
表中的age
字段移到student_id
之后。
SQL参考代码:
ALTER TABLE student_info MODIFY age INT AFTER student_id;
解析:AFTER
用于调整字段的顺序。
4.3.7 更改表的存储引擎
题目要求:将student_info
表的存储引擎改为InnoDB
。
SQL参考代码:
ALTER TABLE student_info ENGINE = InnoDB;
解析:更改表的存储引擎有助于优化性能,特别是需要事务支持时。
4.3.8 删除表的外键约束
题目要求:删除student_info
表中与teachers
表的外键约束。
SQL参考代码:
ALTER TABLE student_info DROP FOREIGN KEY fk_teacher;
解析:删除外键之前需要知道外键的名称,可以通过SHOW CREATE TABLE
命令查询。
4.4 删除数据表
4.4.1 删除没有被关联的表
题目要求:删除没有被其他表关联的teachers
表。
SQL参考代码:
DROP TABLE teachers;
解析:DROP TABLE
将永久删除表及其数据。
4.4.2 删除被其他表关联的主表
题目要求:删除与学生表有关联的teachers
表,先删除外键再删除表。
SQL参考代码:
-- 步骤1:先删除外键约束
ALTER TABLE student_info DROP FOREIGN KEY fk_teacher;
-- 步骤2:删除表
DROP TABLE teachers;
解析:删除外键后,才能安全删除主表。
总结:MySQL表操作全攻略
通过这套题目和解析,你将全面掌握MySQL中表的创建、修改、约束设置、以及删除等操作。每个操作都有详细的SQL示例和解析,帮助你在实战中轻松应对数据库管理的挑战。
关注我,一如老师,带你快速入门MySQL,让你的数据库操作得心应手!



2024-09-18
2024-09-18
2024-09-18
2024-09-17





