头歌MySQL——数据库与表的基本操作
第1关:查看表结构与修改表名
任务描述
本关任务:修改表名,并能顺利查询到修改后表的结构。
相关知识
(1)查看数据表基本结构
语法规则为:DESCRIBE 表名;DESCRIBE可以查看表的字段信息,包括:字段名、字段数据类型、是否为主键、是否有默认值等。
(2)查看数据表详细结构
语法规则为:SHOW CREATE TABLE 表名; 。
(3)修改表名
语法规则为:ALTER TABLE 旧表名 RENAME 新表名; 。
编程要求
根据提示,在右侧编辑器补充代码:
把数据表tb_emp改名为jd_emp;查看该数据库下数据表的列表;查看数据表jd_emp的基本结构。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:

代码文件
#请在此处添加实现代码#修改表名
alter table tb_emp rename jd_emp;#展示列表
show tables;#查看基本结构
describe jd_emp;########## End ##########
第2关:修改字段名与字段数据类型
任务描述
本关任务:修改表中的字段名,并修改字段的数据类型。
相关知识
(1)修改字段名
语法规则为: ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; 。
(2)修改字段数据类型
语法规则为: ALTER TABLE 表名 MODIFY 字段名 数据类型; 。
编程要求
根据提示,在右侧编辑器补充代码:
把数据表tb_emp的字段Id改名为prod_id,数据类型不变;
把数据表tb_emp字段Name的数据类型改为varchar(30)。
数据表结构如下:

测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:

代码文件
#请在此处添加实现代码alter table tb_emp change Id prod_id INT(11); alter table tb_emp modify Name varchar(30);DESCRIBE tb_emp;第3关:添加与删除字段
任务描述
本关任务:分别在表的最后一列、第一列和指定列后添加新的字段,并删除表中的指定字段。
相关知识
(1)添加字段
语法规则为: ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 。
(2)以下是在 MySQL 中常用的约束。
NOT NULL 约束:确保某列不能有 NULL 值。
DEFAULT 约束:当某列没有指定值时,为该列提供默认值。
UNIQUE 约束:确保某列中的所有值是不同的。
PRIMARY Key 约束:唯一标识数据库表中的各行/记录。
CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。
(3)在表的最后一列添加字段
只要不做[FIRST|AFTER]的位置说明,在添加字段时MySQL会默认把新字段加入到表的最后一列。
(4)删除字段
语法规则为: ALTER TABLE 表名 DROP 字段名; 。
编程要求
根据提示,在右侧编辑器补充代码:
在数据表tb_emp的Name字段后添加字段Country,数据格式为varchar(20);
删除数据表tb_emp中的字段Salary。
数据表结构与第二关一致
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:

代码文件
#请在此处添加实现代码alter table tb_emp add Country varchar(20) after Name;alter table tb_emp drop Salary;DESCRIBE tb_emp;第4关:修改字段的排列位置
任务描述
本关任务:修改表中某字段的顺序,分别将其排至表中的第一列与指定列之后。
相关知识
修改字段的排列位置
语法规则为: ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2; 。
其中,字段1指要修改位置的字段,FIRST与AFTER 字段2为可选参数。
编程要求
根据提示,在右侧编辑器补充代码:
将数据表tb_emp的Name字段移至第一列,数据格式不变;
将DeptId字段移至Salary字段的后边,数据格式不变。
数据表结构与第二关一致
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:

代码文件
#请在此处添加实现代码alter table tb_emp modify Name VARCHAR(25) first;alter table tb_emp modify DeptId int(11) after Salary;DESCRIBE tb_emp;第5关:删除表的外键约束
任务描述
本关任务:删除表中的外键约束。
相关知识
删除表的外键约束
语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名; 。
编程要求
我们已经为你建立了主表tb_dept和子表tb_emp,在表tb_emp上添加了名称为emp_dept的外键约束,外键名称为DeptId,依赖于表tb_dept的主键Id,下面那是两张表的结构展示:

请你根据提示,在右侧编辑器Begin-End中补充代码:
删除数据表tb_emp的外键约束emp_dept。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:

代码文件
#请在此处添加实现代码alter table tb_emp drop foreign key emp_dept;SHOW CREATE TABLE tb_emp \G;