《数据库系统原理》实验2:数据库的创建和管理

一、实验目的

熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除数据库。学习在Navicat中进行数据库的转储和导入。掌握管理数据库的有关系统存储过程。

二、实验内容

1、利用Navicat创建满足以下要求的数据库:

1)数据库存在于连接MySQL中;

2)数据库名称为mydb;

3)字符集选择utf8 -- UTF-8 Unicode;

4)排序规则选择utf8_general_ci

步骤:

右键—数据库属性,可以看到如下图所示结果

2、利用Transact-SQL语言创建满足以下要求的数据库:

1)数据库存在于连接MySQL中;

2)数据库名称为mydb;

3)字符集选择utf8 -- UTF-8 Unicode;

4)排序规则选择utf8_general_ci;

步骤:

点击“新建查询”,在查询编辑器输入以下代码:

CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  

点击“运行”,结果如下图所示:

完成后,左侧列表中选中连接“MySQL”,点击“刷新”按钮,列表即可见到“testdb”

3、利用Transact-SQL语言查看数据库及表的信息。

①查看连接中的所有数据库

步骤:点击“新建查询”,输入以下代码:

USE mysql;  
SHOW DATABASES;  

运行,结果如下图所示:

②查看数据库mysql中所有的表

步骤:点击“新建查询”,输入以下代码:

USE mysql;  
SHOW DATABASES;  

运行,结果如下图所示:

              ③查看数据库“mysql”中表“help_keyword”的结构

步骤:点击“新建查询”,输入以下代码并运行:

USE mysql;  
SHOW TABLES;  

结果如下图所示:

4、利用Navicat修改数据库mydb,修改其排序方式为utf8_bin。

步骤:右键单击数据库“mydb”—数据库属性,在排序方式中选择“utf8_bin”—“确定”。

5、利用Transact-SQL语言修改数据库mydb的字符集为Latin1;

步骤:点击“新建查询”,输入以下代码:

ALTER DATABASE mydb DEFAULT CHARACTER SET = latin1  

运行,结果如下图所示:

关闭数据库“mydb”后重新打开,查看数据库属性,可以看到下图结果:

6、利用Navicat删除数据库mydb。

直接右键点击mydb选择删除即可,注意要关闭当前的SQL语句编写界面

7、利用Transact-SQL语言删除数据库testdb。

步骤:点击“新建查询”,输入以下代码:

DROP DATABASE testdb

运行,结果如下图所示:

刷新连接“MySQL”,查看结果

 8、转储MySQL数据库。

步骤:打开连接“MySQL”—右键单击数据库“mysql”—选择“转储SQL文件”—将文件名改为“sql.sql”后保存在桌面,如下图所示:

              成功后将出现如下图所示情况:

 9、导入MySQL数据库。

①在连接“MySQL”中新建数据库“sql”(字符集与排序方式尽量一致)。

②打开数据库“sql”—右键单击—运行SQL文件—选择桌面的“sql.sql”文件—点击“确定”。如下图所示:

③执行结果如下图所示则表示成功。关闭数据库sql后重新打开,对比数据库“sql”与最初的数据库“mysql”,内容完全相同。

三、课后练习题

1、分别用以下几种语句查看数据库“mysql”中任意表的结构或数据(先输入:“USE mysql;”):

①SHOW COLUMNS FROM 表名;

②DESCRIBE 表名;

③DESC 表名

④SELECT * FROM 表名

2、思考以下问题:

1)mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_general_ci三者的区别

答:

utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写

utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感

utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感

2)不同编码方式的数据库之间进行转储和导入会不会出现错误

答:

需要保证导出文件的编码集和要导入的目标库的编码集一致。这里注意,同一服务的不同库可能有不同设置,同一库中可能不同表有不同设置,同一表中可能不同字段有不同设置。不论原始数据、过程中的数据,编码是怎样的,只要保证最终转换后的字符编码、编码命令配置是一致的,就不会出现错误

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

问题:

ORDER BY关键字降序排序问题

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

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

解决方案:

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

发布了79 篇原创文章 · 获赞 100 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lee1hong/article/details/105762255