MySQL 数据库管理基础

MySQLBeginner
立即练习

介绍

在这个挑战中,我们将对数据库执行与 DDL(数据定义语言)相关的操作。你需要创建表、修改表结构,并执行删除数据和删除表等操作。本挑战旨在测试你在使用 DDL 语句(如 CREATE、ALTER、DELETE、TRUNCATE 和 DROP)方面的知识和技能。

DDL 综合挑战

在这个挑战中,我们需要创建一个数据库并对其执行与 DDL 相关的操作。

任务

完成以下任务:

  1. 使用 sudo 命令无密码访问 MySQL。
  2. 创建一个名为 testddl 的数据库,并指定字符集为 utf8mb4
  3. testddl 数据库中创建名为 empdept 的表,结构如下,并插入信息:
  • emp
    字段名 属性
    eid INT(5) 主键
    ename VARCHAR(50)
    sal DECIMAL
    deptno INT(5)
  • dept
    字段名 属性
    did INT(5) 主键
    dname VARCHAR(50)
  1. 修改 empdept 表的主键为自增,起始值为 10。同时,将 emp 表中 sal 字段的数据类型修改为整数。
  2. 使用 DELETE 删除 emp 表中的所有数据。
  3. 使用 TRUNCATE 删除 dept 表中的所有数据。
  4. 使用 DROP 删除 emp 表和 testddl 数据库。

要求

  1. 将 SQL 语句保存为脚本文件,文件名为 ddl_operations.sql
  2. 确保语句按正确顺序执行,并用分号和换行符分隔。
  3. 脚本文件必须保存在 ~/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 中练习更多实验来提升你的技能。