《数据库系统原理》实验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枚举类型的设定值问题

解决方案:

参考《数据库系统概论课本》、菜鸟教程(https://www.runoob.com/sql)和CSDN博客

  • 17
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值