介绍
在本项目中,你将学习如何修改 MySQL 数据库中的 countrylanguage 表,即从 IsOfficial 字段中移除“非空”约束。
👀 预览
MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| 字段 | 类型 | 空值 | 键 | 默认值 | 额外 |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | 否 | 主键| | |
| Language | char(30) | 否 | 主键| | |
| IsOfficial | enum('T','F') | 是 | | NULL | |
| Percentage | decimal(4,1) | 否 | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)
🎯 任务
在本项目中,你将学习:
- 如何启动 MySQL 数据库并使用
sudo命令访问它 - 如何将
world.sql数据文件导入到 MySQL 数据库中 - 如何通过从
IsOfficial字段中移除“非空”约束来修改countrylanguage表 - 如何验证对
countrylanguage表所做的更改
🏆 成果
完成本项目后,你将能够:
- 了解如何使用命令行界面操作 MySQL 数据库
- 通过更改字段约束来修改表结构
- 通过描述表结构来验证对表所做的更改
启动 MySQL 数据库并访问 MySQL
在本步骤中,你将学习如何启动 MySQL 数据库,并使用 sudo 命令在无需密码的情况下访问它。
- 启动 MySQL 数据库服务:
sudo service mysql start
- 访问 MySQL 命令行界面:
sudo mysql
现在你已准备好操作 MySQL 数据库。
导入世界数据库
在本步骤中,你将学习如何将 world.sql 数据文件导入到 MySQL 数据库中,并切换到 world 数据库。
- 导入
world.sql数据文件:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
- 切换到
world数据库:
MariaDB [None]> USE world;
现在你已加载了 world 数据库并准备好进行操作。
修改 countrylanguage 表
在本步骤中,你将学习如何从 countrylanguage 表的 IsOfficial 字段中移除“非空”约束。
- 在文本编辑器中打开
changeNull.sql文件。 - 向该文件中添加以下 SQL 语句:
ALTER TABLE countrylanguage MODIFY COLUMN IsOfficial ENUM('T', 'F') NULL;
此语句将从 countrylanguage 表的 IsOfficial 字段中移除“非空”约束。
- 保存
changeNull.sql文件。
执行 changeNull.sql 脚本
在本步骤中,你将学习如何在 MySQL 命令行界面中执行 changeNull.sql 脚本。
- 在 MySQL 命令行界面中,运行以下命令来执行
changeNull.sql脚本:
MariaDB [world]> SOURCE /home/labex/project/changeNull.sql;
这将执行 changeNull.sql 文件中的 SQL 语句并修改 countrylanguage 表。
验证更改
在本步骤中,你将学习如何验证对 countrylanguage 表所做的更改。
- 在 MySQL 命令行界面中,运行以下命令来描述
countrylanguage表:
MariaDB [world]> DESC countrylanguage;
输出应显示“非空”约束已从 IsOfficial 字段中移除。
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | YES | | NULL | |
| Percentage | decimal(4,1) | NO | | 0.0 | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)
恭喜!你已成功通过从 IsOfficial 字段中移除“非空”约束来修改 countrylanguage 表。
总结
恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验来提升你的技能。
