北邮数据库实验报告(3)Word下载.docx
《北邮数据库实验报告(3)Word下载.docx》由会员分享,可在线阅读,更多相关《北邮数据库实验报告(3)Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
openrowset
('
microsoft.jep.oledb.4.0'
'
excel5.0;
hdr=yes;
database=D:
\课件\数据库\database2.xls'
department$);
insertintostudent
student$);
insertintostudent_course
student_course$);
l数据导入:
操作:
选中数据库studentsdb,右键-任务-导入数据。
导入book,class,course表。
lSQLServerManagementStudio:
右键需要编辑的表,选择编辑前200行。
Teacher:
Teacher_course_class:
导入结果:
Book:
Class:
Course:
Department:
Student:
Student_course:
2.用Transact-SQL向Course表中插入一条记录,course_name为空,看运行的结果。
SQL语句:
INSERTINTOcourse
VALUES('
dep02_s002'
null,
'
72'
5'
4'
);
运行结果:
分析:
course_name有notnull的约束,因此这条语句不能执行。
3.用Transact-SQL修改Course表中credit为5的记录,将其credit改为7,credit小于4的改为2,看运行的结果。
updatecourse
setcredit=7
wherecredit=5;
执行结果:
约束C1指定了credit的范围为1至6.
setcredit=2
wherecredit<
4;
4.删除一条学生记录,看运行结果,对运行结果进行分析。
deletefromstudent
wherestudent_id='
g9940201'
;
因为有参照完整性约束,不能删除。
5.用Transact-SQL完成将编号为dep04_b001的课程的选修信息插入到一个新的选课信息表中。
Creattablestudent_course2(
course_idchar(20),
student_idchar(20)
gradeint,
creditint,
semesterint,
school_yearchar(20),
primarykey(course_id,student_id));
insertintostudent_course2
select*fromstudent_course
wherecourse_id='
dep04_b001'
6.用Transact-SQL完成删除单片机原理课程的选课信息,分析运行结果。
deletefromstudent_course
wherecourse_idin(selectcourse_idfromcourse
wherecourse_name='
单片机原理'
)
所有课程号为dep04_s003的课程被删除。
本实验中遇到的问题和解决方法:
本实验的顺利完成需要预先作很多准备工作。
以下就是我在遇到缺少组件accessdatabaseengine时的解决过程的记录。
AccessDatabaseEngine的安装
accessdatabaseengine用于和office连接,导入导出数据,本实验中需要导入excel文件。
安装配合office的版本,我安装的是accessdatabaseengine2017(English)版本。
安装32位版本,因office2016是32位。
之前误操作安装了不能使用的老旧版本accessdatabaseengine2007,通过控制面板-应用程序卸载将其卸载了。
安装accessdatabaseengine依然报错,是因为microsoftofficeclicktorun阻碍sqlserver的一些功能,需要将其卸载。
这是微软推出的用于减少office打开速度的应用程序,安装office2016时会自动安装上,原理是开机时将一部分内容放到内存中,因此打开文件时会更快一些。
检测自己的office是通过clicktorun还是MSI安装的,可以在word中点击文件-账户,查看产品信息,如果有下图中“office更新”这个选项,则说明安装过clicktorun。
这个程序在控制面板-应用程序中找不到,因此用删除注册表的方式卸载。
快捷键“win+R”输入“regedit”打开注册表编辑器,左边HKEY_CLASSES_ROOT-Installer-Product-00006开头的选项,有四个。
单击这几个选项,在右侧查看详细信息,可以看到ProductNam是MicrosoftAccessdatabaseengine2007(我原来误安装的老版本)。
删除之前先备份注册表。
方法一:
选中要删除的文件,右键-导出,保存。
只保存了要删除的文件。
方法二:
注册表编辑器,文件-导出,保存。
保存了注册表所有信息。
这是因为如果误删了重要文件会导致严重后果,可能需要重装系统,留此备份是为了可以恢复系统。
备份完之后,选中要删除的文件(00006开头的四个),右键-删除即可。
回到Accessdatabaseengine32位的程序安装包,安装。
我无法安装64位,可能是因为office是32位。
安装成功之后就可以在sqlserver中导入excel文件了。