北邮数据库实验报告(3).docx

上传人:b****2 文档编号:1259173 上传时间:2022-10-19 格式:DOCX 页数:12 大小:398.41KB
下载 相关 举报
北邮数据库实验报告(3).docx_第1页
第1页 / 共12页
北邮数据库实验报告(3).docx_第2页
第2页 / 共12页
北邮数据库实验报告(3).docx_第3页
第3页 / 共12页
北邮数据库实验报告(3).docx_第4页
第4页 / 共12页
北邮数据库实验报告(3).docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

北邮数据库实验报告(3).docx

《北邮数据库实验报告(3).docx》由会员分享,可在线阅读,更多相关《北邮数据库实验报告(3).docx(12页珍藏版)》请在冰豆网上搜索。

北邮数据库实验报告(3).docx

数据库实验报告(三)

姓名:

学号:

班级:

1.用Transact-SQL语句、数据导入、SQLServerManagementStudio(企业管理器)输入的方法对所给定的8张表的数据输入到数据库中。

自行决定每张表的数据导入办法,但每种方法各针对二或三张表。

lTransact-SQL语句:

导入department,student,student_course表。

insertintodepartment

select*from

openrowset

('microsoft.jep.oledb.4.0','excel5.0;hdr=yes;database=D:

\课件\数据库\database2.xls',department$);

insertintostudent

select*from

openrowset

('microsoft.jep.oledb.4.0','excel5.0;hdr=yes;database=D:

\课件\数据库\database2.xls',student$);

insertintostudent_course

select*from

openrowset

('microsoft.jep.oledb.4.0','excel5.0;hdr=yes;database=D:

\课件\数据库\database2.xls',student_course$);

l数据导入:

操作:

选中数据库studentsdb,右键-任务-导入数据。

导入book,class,course表。

lSQLServerManagementStudio:

操作:

右键需要编辑的表,选择编辑前200行。

Teacher:

Teacher_course_class:

导入结果:

Book:

Class:

Course:

Department:

Student:

Student_course:

Teacher:

Teacher_course_class:

2.用Transact-SQL向Course表中插入一条记录,course_name为空,看运行的结果。

SQL语句:

INSERTINTOcourse

VALUES('dep02_s002',

null,

'dep02_s002',

'72',

'5',

'4');

运行结果:

分析:

course_name有notnull的约束,因此这条语句不能执行。

3.用Transact-SQL修改Course表中credit为5的记录,将其credit改为7,credit小于4的改为2,看运行的结果。

SQL语句:

updatecourse

setcredit=7

wherecredit=5;

执行结果:

分析:

约束C1指定了credit的范围为1至6.

SQL语句:

updatecourse

setcredit=2

wherecredit<4;

执行结果:

4.删除一条学生记录,看运行结果,对运行结果进行分析。

SQL语句:

deletefromstudent

wherestudent_id='g9940201';

执行结果:

分析:

因为有参照完整性约束,不能删除。

5.用Transact-SQL完成将编号为dep04_b001的课程的选修信息插入到一个新的选课信息表中。

SQL语句:

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完成删除单片机原理课程的选课信息,分析运行结果。

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文件了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1