《数据库系统原理》实验5:表数据的维护

一、实验目的

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作。

二、实验内容

1、在数据库world中建立一个名为newlanguage的表,其结构与表countrylanguage完全一样(注意各字段的默认值、字符集、排序方式等),如下图:

注意IsOfficial是枚举类型,需指定值,否则会报错:

2、在表newlanguage中插入中国的客家话,其名称为CountryCode为CHN,language为Kejia,isOfficial为F,percentage为0.3:

输入以下代码并运行:

use world;  
INSERT INTO newlanguage  
VALUES (CHN,Kejia,F,0.3);  

4、试将表countrylanguage中的所有记录插入到表newlanguage中去。

输入以下代码并运行:

use world;  
INSERT INTO newlanguage  
SELECT *  
FROM countrylanguage  

5、将表newlanguage中Language为“Kejia”的语言的Percentage改为0.4

输入以下代码并运行:

use world;  
UPDATE newlanguage  
SET Percentage = 0.4  
WHERE Language = Kejia  

6、将表newlanguage中语言的Percentage均减去0.1。

输入以下代码并运行:

use world;  
UPDATE newlanguage  
SET Percentage = Percentage - 0.1  

7、删除表newlanguage中澳大利亚(CountrCode为“AUS”)的英语记录。

输入以下代码并运行:

USE world  
DELETE FROM newlanguage  
WHERE Language = English and CountryCode = AUS  

8、清空表newlanguage中的所有数据。

输入以下代码并运行:

USE world  
DELETE * FROM newlanguage  

三、课后练习题

以下题目在数据库world中完成。

1、通过Navicat,在country、countrylanguage、和city三个表中各输入10条记录。

2、将一条新的城市记录(Name:Beijing,Country:AFG,District:Beijing,Population:21148000)插入表city中。

输入以下代码并运行:

USE world;  
INSERT INTO city(Name,CountryCode,District,Population)  
VALUES(Beijing,AFG,Beijing,21148000)  

3、插入一条语言记录(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。

输入以下代码并运行:

USE world;  
INSERT INTO countrylanguage  
VALUES(CHN,Minnan,F,0.5);  

4、删除CountryCode为“ABW”的语言记录。

输入以下代码并运行:

USE world;  
DELETE FROM countrylanguage  
WHERE CountryCode = ABW;  

四、出现的问题及解决方案

问题:

ORDER BY关键字降序排序问题

SQL AND & OR 运算符与优先级问题

WHERE语句的特殊条件——例如is null、between and、like模糊查询等问题

Enum枚举类型的设定值问题

解决方案:

参考《数据库系统概论课本》、菜鸟教程()和博客

经验分享 程序员 微信小程序 职场和发展