介绍
在这个挑战中,我们将对数据库执行与 DDL(数据定义语言)相关的操作。你需要创建表、修改表结构,并执行删除数据和删除表等操作。本挑战旨在测试你在使用 DDL 语句(如 CREATE、ALTER、DELETE、TRUNCATE 和 DROP)方面的知识和技能。
DDL 综合挑战
在这个挑战中,我们需要创建一个数据库并对其执行与 DDL 相关的操作。
任务
完成以下任务:
- 使用
sudo命令无密码访问 MySQL。 - 创建一个名为
testddl的数据库,并指定字符集为utf8mb4。 - 在
testddl数据库中创建名为emp和dept的表,结构如下,并插入信息:
- emp
字段名 属性 eid INT(5) 主键 ename VARCHAR(50) sal DECIMAL deptno INT(5) - dept
字段名 属性 did INT(5) 主键 dname VARCHAR(50)
- 修改
emp和dept表的主键为自增,起始值为10。同时,将emp表中sal字段的数据类型修改为整数。 - 使用 DELETE 删除
emp表中的所有数据。 - 使用 TRUNCATE 删除
dept表中的所有数据。 - 使用 DROP 删除
emp表和testddl数据库。
要求
- 将 SQL 语句保存为脚本文件,文件名为
ddl_operations.sql。 - 确保语句按正确顺序执行,并用分号和换行符分隔。
- 脚本文件必须保存在
~/project目录中。
示例
编写脚本后,可以在 MySQL 客户端中使用以下示例代码运行它:
mysql> source ~/project/ddl_operations.sql
通过检查数据库和表结构来验证任务的完成情况。
SHOW DATABASES;
/* 预期输出包括:
testddl
*/
USE testddl;
DESCRIBE emp;
/* 预期:
Field Type Null Key Default Extra
eid int(5) NO PRI NULL auto_increment
ename varchar(50) YES NULL
sal int(5) YES NULL
deptno int(5) YES NULL
*/
INSERT INTO emp(ename) VALUES('test');
SELECT eid FROM emp;
/* 预期:
eid
10
*/
SHOW DATABASES;
/* 预期:testddl 不存在 */
总结
恭喜!你已经完成了 DDL 综合挑战。你可以在 LabEx 中练习更多实验来提升你的技能。



