《数据库系统原理》实验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枚举类型的设定值问题
解决方案:
参考《数据库系统概论课本》、菜鸟教程()和博客