SQL练习:韩顺平课程作业解析

5星 · 超过95%的资源 需积分: 16 31 下载量 163 浏览量 更新于2024-09-14 收藏 11KB TXT 举报
"该资源是韩顺平讲解SQL课程的作业内容,包含了创建数据库、删除表、创建新表以及向表中插入数据等操作。学习者通过观看视频并亲自实践,对每个步骤进行了点评和记录。" 在这些SQL语句中,我们可以看到几个关键的知识点: 1. **创建数据库**: - `createdatabaseD1` 是创建一个名为 `D1` 的数据库的命令。在SQL中,`CREATE DATABASE` 用于新建数据库,这里的写法可能是简化版或特定数据库系统的语法。 2. **删除表**: - `droptabledept` 和 `droptableemp` 分别用于删除名为 `dept` 和 `emp` 的两个表。`DROP TABLE` 语句用于删除已存在的表。 3. **创建表**: - `createtabledept(deptno int primary key, dname nvarchar(30), loc nvarchar(30))` 创建了一个名为 `dept` 的表,包含三个字段:`deptno`(整型,主键)、`dname`(可变长度非空字符,最大长度30)和 `loc`(同类型,最大长度30)。`INT PRIMARY KEY` 指定了 `deptno` 为主键,这意味着它的值必须是唯一的且不能为NULL。 - `createtableemp(...)` 创建了另一个表 `emp`,它有多个字段,包括 `empno`(主键)、`ename`、`job`、`mgr`、`hiredate`、`sal`、`comm` 和 `deptno`。`FOREIGN KEY REFERENCES dept(deptno)` 定义了 `deptno` 字段作为外键,关联到 `dept` 表的 `deptno` 字段,确保数据的参照完整性。 4. **插入数据**: - 使用 `insertintodept` 和 `insertintoemp` 语句向 `dept` 和 `emp` 表中插入数据。`VALUES` 子句提供了要插入的具体值。例如,`values(7499,'ALLEN','SALESMAN',7698,'1981-2-20',1600,300,30);` 插入了一条员工记录。 5. **日期与数值类型**: - `datetime` 类型用于存储日期和时间,如 `hiredate` 字段。 - `numeric(9,2)` 用于定义数值字段,其中9是总位数,2是小数位数,如 `sal` 和 `comm` 字段。 6. **NULL 值**: - 在SQL中,某些字段可以允许 `NULL` 值,比如 `comm` 字段。`NULL` 表示值未知或未定义。 这个作业涵盖了SQL的基本操作,包括数据库的创建、表的结构定义、数据的插入,以及表间关系的设定,是学习SQL的基础部分。对于初学者来说,通过实际操作和点评,能更好地理解和掌握这些概念。