### 使用SQL语句创建数据表和操作数据 #### 一、创建数据表 在本实验中,我们通过SQL Server Management Studio (SSMS) 19.3版本,在SQL Server 2019环境下,利用`CREATE TABLE`语句创建了三个表:学生表(`Student`)、课程表(`Course`)以及学生选课表(`SC`)。 1. **学生表** (`Student`): ```sql CREATE TABLE Student( Sno CHAR(9) PRIMARY KEY, -- 学生学号,主键 Sname CHAR(20) UNIQUE, -- 学生姓名,唯一键 Ssex CHAR(2), -- 学生性别 Sage SMALLINT, -- 学生年龄 Sdept CHAR(20) -- 所在系 ); ``` 2. **课程表** (`Course`): ```sql CREATE TABLE Course( Cno CHAR(4) PRIMARY KEY, -- 课程编号,主键 Cname CHAR(40) NOT NULL, -- 课程名称,非空 Cpno CHAR(4), -- 先修课程编号 Ccredit SMALLINT -- 学分 ); ``` 3. **学生选课表** (`SC`): ```sql CREATE TABLE SC( Sno CHAR(9), -- 学生学号 Cno CHAR(4), -- 课程编号 Grade SMALLINT -- 成绩 ); ``` #### 二、向数据表中添加记录 接下来,我们使用`INSERT`语句向上述创建的数据表中添加数据。 1. **学生表** (`Student`): - 插入数据: ```sql insert into Student values('201215121', '李勇', '男', 20, 'CS'); insert into Student values('201215122', '刘晨', '女', 19, 'CS'); insert into Student values('201215123', '王敏', '女', 18, 'MA'); insert into Student values('201215124', '张立', '男', 19, 'IS'); ``` - 插入结果:可以看到学生表中成功插入了四条记录。 2. **课程表** (`Course`): - 插入数据: ```sql insert into Course values('1', '数据库', '5', 4); insert into Course values('2', '数学', ' ', 2); insert into Course values('3', '信息系统', '1', 4); insert into Course values('4', '操作系统', '6', 3); insert into Course values('5', '数据结构', '7', 4); insert into Course values('6', '数据处理', ' ', 2); insert into Course values('7', 'PASCAL 语言', '6', 4); ``` - 插入结果:可以看到课程表中成功插入了七条记录。 3. **学生选课表** (`SC`): - 插入数据: ```sql insert into SC values('201215121', '1', 92); insert into SC values('201215121', '2', 85); insert into SC values('201215121', '3', 88); insert into SC values('201215122', '2', 90); insert into SC values('201215122', '3', 80); ``` - 插入结果:可以看到学生选课表中成功插入了五条记录。 #### 三、更新数据 接着,我们使用`UPDATE`语句来修改数据表中的数据。 - 更新操作: ```sql update SC set Grade=82 where sno='201215121' and cno='1'; ``` - 更新结果:可以看到学生的成绩从原来的92分更改为82分。 #### 四、删除数据 使用`DELETE`语句来删除数据表中的特定记录。 - 删除操作: - 删除`Student`表中的记录: ```sql delete from Student where sno='201215122'; ``` - 删除`SC`表中的记录: ```sql delete from SC where sno='201215122'; ``` - 删除结果: - `Student`表中的记录从4条减少到3条。 - `SC`表中的记录也从5条减少到了3条。 #### 五、修改数据表结构 我们使用`ALTER TABLE`语句来修改`Student`表,为其增加新的列`S_enterance`,表示学生的入学时间。 - 修改操作: ```sql ALTER TABLE Student ADD S_enterance DATE; ``` - 修改结果:可以看到`Student`表中新增加了一个名为`S_enterance`的列。 #### 实验总结 1. **实验过程中遇到的问题**: - 在实验中可能会遇到重复创建表的情况,解决方法有两种:一是删除已有的表后重新创建;二是新建一个数据库,避免表名冲突。 - 在向表中插入数据时,可能会出现外码报错的情况,这通常是因为表之间的关系约束未满足。例如,如果尝试插入一个学生选课表(`SC`)中的记录,但该学生或课程在相应的表中不存在,则会报错。为了解决这个问题,确保所有引用的外键都已在关联表中存在。 2. **实验心得**: - 通过此次实验,我们更加熟悉了如何使用SQL语句创建数据表,并掌握了基本的数据操作如插入、更新、删除等命令。 - 实验还强调了表间关系的重要性,尤其是在涉及到外键约束的情况下,确保数据的一致性和完整性至关重要。 - 通过实际操作,我们进一步理解了SQL语句在数据库管理中的应用,并且学会了如何在实践中解决问题。
- 粉丝: 253
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助