南邮数据库实验报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
根据提供的文档内容,我们可以归纳出本实验报告涉及的关键知识点,主要围绕数据库的创建、表的构建与维护等方面展开。下面将对这些知识点进行详细的解析。 ### 数据库与表的创建 #### 实验目的 - 学习如何创建数据库以及表的基本操作。 - 掌握表的结构设计,包括字段类型、长度、是否允许为空等属性。 - 了解并实践SQL语句在数据库操作中的应用。 #### 实验内容分析 1. **创建数据库**:通过`CREATE DATABASE`命令创建了一个名为`test`的新数据库。这是数据库操作的基础,任何后续的操作都需要基于已存在的数据库进行。 ```sql CREATE DATABASE test; ``` 2. **创建部门表**:在`test`数据库中创建了一个名为“部门”的表,该表包含三个字段:`ID`(部门编号)、`name`(部门名称)和`manager`(部门经理),并且这三个字段都不允许为空。 ```sql USE test; CREATE TABLE 部门 ( ID CHAR(7) NOT NULL, name CHAR(10) NOT NULL, manager CHAR(10) NOT NULL ); ``` 3. **创建员工表**:同样是在`test`数据库中创建了一个名为“员工”的表,其中包含五个字段:`name`(员工姓名)、`personID`(员工编号)、`sex`(性别)、`birthday`(出生日期)和`deptID`(所属部门编号),这些字段同样不允许为空。 ```sql CREATE TABLE 员工 ( name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday DATETIME NOT NULL, deptID CHAR(7) NOT NULL ); ``` ### 表的维护 1. **修改表结构** - **设置主键**:为了确保数据的唯一性,可以通过`ALTER TABLE`命令来设置一个或多个字段作为主键。 ```sql ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY (ID); ALTER TABLE 员工 ADD CONSTRAINT C2 PRIMARY KEY (personID); ``` - **设置外键**:为了实现不同表之间的关联,可以设置外键,这里将`员工`表中的`deptID`字段设置为指向`部门`表中`ID`字段的外键。 ```sql ALTER TABLE 员工 ADD CONSTRAINT C3 FOREIGN KEY (deptID) REFERENCES 部门 (ID); ``` - **添加新字段**:可以通过`ALTER TABLE`命令向现有表中添加新的字段。 ```sql ALTER TABLE 部门 ADD quantity CHAR(5); ``` - **删除字段**:同样地,也可以通过`ALTER TABLE`命令来删除不再需要的字段。 ```sql ALTER TABLE 员工 DROP COLUMN sex; ``` - **修改字段类型**:如果需要改变字段的数据类型或长度,可以使用`ALTER COLUMN`命令。 ```sql ALTER TABLE 员工 ALTER COLUMN name VARCHAR(8); ``` 2. **创建成绩表** - **创建scores表**:创建一个名为`scores`的表,包含学生的学号、四门课程的成绩及平均成绩等字段。 ```sql CREATE TABLE scores ( ID CHAR(8) PRIMARY KEY NOT NULL, C语言 NUMERIC(3,1) NOT NULL, IT英语 NUMERIC(3,1) NOT NULL, 数据库 NUMERIC(3,1) NOT NULL, 软件基础 NUMERIC(3,1) NOT NULL, 平均成绩 AS (C语言 + IT英语 + 数据库 + 软件基础) / 4 ); ``` - **设置默认值**:可以为字段设置默认值,当插入新记录时如果没有提供值,则自动使用默认值。 ```sql ALTER TABLE scores ADD CONSTRAINT C语言 DEFAULT '0' FOR C语言; -- 同理设置其他字段的默认值 ``` - **设置检查约束**:通过`CHECK`约束来限制字段的取值范围,例如成绩必须在0至100之间。 ```sql ALTER TABLE scores ADD CONSTRAINT CK1 CHECK (C语言 >= 0 AND C语言 <= 100); -- 同理设置其他成绩字段的检查约束 ``` 3. **删除表与数据库** - **删除部门表**:使用`DROP TABLE`命令删除`部门`表。 ```sql DROP TABLE 部门; ``` - **删除数据库**:使用`DROP DATABASE`命令删除整个数据库。 ```sql DROP DATABASE test; ``` 通过以上操作,我们不仅学会了如何创建和维护数据库表,还掌握了如何设置各种约束以确保数据的完整性和准确性。这对于实际工作中处理复杂数据结构非常有用。此外,这些技能也是数据库管理专业人员的基本能力之一。
- 粉丝: 15
- 资源: 19万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助