数据库实验报告613_数据库大型实验报告

其他范文 时间:2020-02-28 21:58:41 收藏本文下载本文
【www.daodoc.com - 其他范文】

数据库实验报告613由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库大型实验报告”。

数据库实验六至十二实验报告

实验日志六

指导教师 祝家钰

实验时间: 2015 年 4月 27日 学院

计算机科学与技术学院 专业

计算机与智能科学大类

班级

0401410 学号

2014211727姓名 周泓源实验室 s331

实验题目:

SQL语言数据查询语言DQL 实验目的:

数据查询语言指对数据库中的数据查询、统计、分组、排序等操作。查询语句可以分为简单查询、连接查询、嵌套查询和组合查询等。

本次实验了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。

实验内容:(叙述自己编写的程序)

1、用Create Table建立Student表。

CREATE TABLE Student(SNO VARCHAR(20), Name VARCHAR(10), Age INTEGER, College VARCHAR(30))

2、用Create Table建立Course表: CREATE TABLE Course(CourseID VARCHAR(15), CourseName VARCHAR(30), CourseBeforeID VARCHAR(15))

3、用Create Table建立Choose CREATE TABLE Choose(SNO VARCHAR(20), CourseID VARCHAR(30), Score DECIMAL(5,2))

4、用INSERT语句向Student表中插入3个元组: 1)INSERT INTO Student VALUES('S00001', '张三', 20, '计算机学院')2)INSERT INTO Student VALUES('S00002', '李四', 19, '通信学院')3)INSERT INTO Student VALUES('S00003', '王五', 21, '计算机学院')

5、用INSERT语句向Course表中插入3个元组: 1)INSERT INTO Course VALUES('C1', '计算机引论', NULL)2)INSERT INTO Course VALUES('C2', 'C语言', 'C1')3)INSERT INTO Course VALUES('C3', '数据结构', 'C2')

6、用INSERT语句向Choose表中插入7个元组 1)INSERT INTO Choose VALUES('S00001', 'C1', 95)2)INSERT INTO Choose VALUES('S00001', 'C2', 80)3)INSERT INTO Choose VALUES('S00001', 'C3', 84)4)INSERT INTO Choose VALUES('S00002', 'C1', 80)5)INSERT INTO Choose VALUES('S00002', 'C2', 85)6)INSERT INTO Choose VALUES('S00003', 'C1', 78)7)INSERT INTO Choose VALUES('S00003', 'C3', 70)

7、用SELECT语句,查询计算机学院

SELECT SNO,Name FROM Student where college = '计算机学院'

8、用SELECT语句的between…and…表示查询条件,查询年龄在20~23岁的学生 SELECT * FROM Student where Age BETWEEN 20 and 309、用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。SELECT COUNT(*)FROM Student10、分别用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1.1)SELECT MAX(Score)FROM choose GROUP BY CourseID HAVING CourseID = 'C1' 2)SELECT MIN(Score)FROM choose GROUP BY CourseID HAVING CourseID = 'C1' 3)SELECT SUM(Score)FROM choose GROUP BY CourseID HAVING CourseID = 'C1' 4)SELECT AVG(Score)FROM choose GROUP BY CourseID HAVING CourseID = 'C1'

11、用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称

SELECT CourseID,CourseName FROM Course where CourseBeforeID is NULL12、用SELECT语句的连接查询,查询学生的学号、姓名、选修的课程以及成绩。SELECT Student.SNO,Name,CourseName,Score FROM Student,Choose,Course where Student.SNO = Choose.SNO AND Course.CourseID=Choose.CourseID13、用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。SELECT * FROM Student WHERE college =(select college from Student where name='张三')AND EXISTS(SELECT * FROM Student WHERE name='张三')

14、用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。

SELECT SNO,Score FROM Choose WHERE CourseID='C1'

AND Score

15、用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号。

SELECT SNO FROM Choose WHERE CourseID='C1' UNION SELECT SNO FROM Choose Where CourseID='C3'

16、用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。SELECT DISTINCT SNO FROM Choose WHERE CourseID='C1' UNION SELECT DISTINCT SNO FROM Choose Where CourseID='C3' 遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

Sql查询语句的不熟悉,以及语法上的一些错误,经过查询和询问进行了改正。

心得体会:

通过本次实验了解了SQL语言的SELECT语句对数据的查询,学会了在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。

实验日志七

指导教师

祝家钰

实验时间:

2016 年

5月4日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目

DQL补充仓库管理系统实验日志

实验目的:

加强对DQL语句的使用

实验内容:

仓库管理系统需求完成功能主要有以下几点:

1、仓库管理各种信息的输入,包括入库、出库、需求信息等的输入等。。。

2、仓库管理各种信息的查询、修改和维护;

3、设备采购报表的生成;

4、在库存管理中加入最高储备和最低设备字段,对仓库中的物资设备实现监控和报警 设备表(设备号、设备名称)

设备入库(设备号、入库时间、供应商、供应商电话、入库数量、价格、采购员)

设备出库(设备号、使用部门、出库时间、出库状况、经手人、出库数量、领取人、用途)现有库存表(设备号、现有库存总数、最大库存、最小库存)

部门需求表(设备号、部门名称、需要数量、需求开始时间、需求结束时间)

设备采购计划表(设备号、现有总库存数、最大库存、购买数量、供应商、价格、计划采购时间)要求:

1、仓库设备可自己设定(比如 邮电大学资产处的仓库,仓库里有各种型号电脑)

2、定义基础表(表结构里面的数据类型自己定义)

3、给表里面输入一些基础数据(自己设定)

4、查询仓库里面设备的总类型量

5、查询仓库某一入库时间(某一天)的所有入库设备

6、查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况

7、查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购。

8、查询某一部门需求的某一设备在库存里面是否够该部门需求数量?

9、根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动

查询生成出该设备的设备采购计划表(包括采购计划表的设备号、现有总库存数、最大库存、该购买数量的信息)

2、源码:

CREATE TABLE PCin(PCid INTEGER NOT NULL, TimeIN VARCHAR(20)NOT NULL PRIMARY KEY, Sup VARCHAR(20), SupTel VARCHAR(20), NumIN INTEGER, Price DOUBLE(10,2), buyer VARCHAR(20))

CREATE TABLE PCout(PCid INTEGER NOT NULL, Department VARCHAR(20), TimeOut VARCHAR(20)NOT NULL PRIMARY KEY, NumOut INTEGER, UsePerson VARCHAR(20), HowUse VARCHAR(20), PCstate VARCHAR(20))

CREATE TABLE Stock(PCid INTEGER NOT NULL PRIMARY KEY, SUM INTEGER, MAX INTEGER, MIN INTEGER)

CREATE TABLE req(PCid INTEGER NOT NULL, Department VARCHAR(20), ReqNum INTEGER, ReqDateStart VARCHAR(20), ReqDateEnd VARCHAR(20))

CREATE TABLE BuyPCPlan(PCid INTEGER NOT NULL, SUM INTEGER, MAX INTEGER, BuyNum INTEGER, Sup VARCHAR(20), Price DOUBLE(5,2), BuyPlanDate VARCHAR(20)NOT NULL PRIMARY KEY)

3、给表里面输入一些数据

4、Buypcplan表:

Pc表:

Pcin表:

Pcout表:

Req表:

Stock表:

4、查询仓库里面设备的总类型量 源码:

SELECT count(*)FROM pc;

5、查询仓库某一入库时间(某一天)的所有入库设备(2016-5-02为例)源码:

SELECT PCName FROM pc WHERE PCid IN(SELECT PCid FROM pcin where TimeIN='2016-5-02');

6、查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况(2016年5月)源码: SELECT PCstate FROM pcout WHERE TimeOut LIKE “2016-5-%”;

7、查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购。源码:

SELECT pc.* FROM stock,pc WHERE stock.PCid=pc.PCid AND SUM

8、查询某一部门需求的某一设备在库存里面是否够该部门需求数量。通过比较库存数量(SUM)和需求数量(ReqSum)源码:

SELECT req.Department,stock.SUM,req.ReqNum FROM stock,req WHERE stock.PCid=req.PCid;

9、根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动

查询生成出该设备的设备采购计划表 源码:

SELECT buypcplan.PCid,buypcplan.SUM,buypcplan.MAX,buypcplan.BuyNum

FROM buypcplan,stock WHERE stock.PCid=buypcplan.PCid AND stock.SUM

遇到的问题及解决:

对于有些逻辑上的问题需要一定的理解,并且对sql语句有一定的不熟悉。通过看书询问进行解决。

心得体会: 对于语句的使用要一步步的探索,不能盲目使用,根据这些表的关系以及题目的要求对这些sql语句再来进行使用。通过这次实验了解了sql语句的具体应用以及sql语句的强大。

实验日志八

指导教师

祝家钰

实验时间:

2016 年

5月 11 日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目:

MySQL的存储过程 实验目的:

存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程分为两类:1.系统提供的存储过程;2.用户自定义存储过程。

存储过程具有的优点:1.存储过程允许标准组件式编程;2.存储过程能够实现较快的执行速度;3.存储过程能够减少网络流量;4.存储过程可被作为一种安全机制来充分利用。存储过程是可复用的组件!想象一下如果你改变了主机的语言,这对存储过程不会产生影响,因为它是数据库逻辑而不是应用程序。存储过程是可以移植的!

本次实验了解MySQL存储过程的创建、修改和删除的方法和步骤,掌握在Navicat for MySQL中对存储过程的进行创建、修改和删除,掌握在MySQL Command Line Client调用参数和不带参数的存储过程。

实验内容:(叙述自己编写的程序)

1.启动Navicatfor MySQL,在MySQL –新建连接中完成连接参数配置。2.登录到本地数据库服务器后,连接到db5536数据库上。

Use db5536

DELIMITER //

3.执行

五、教学过程中

(三)实验内容的1部分的(2)、(3)步骤创建及调用不带参数的存储过程,验证不带参数的存储过程和调用方法。

Create procedure first_p()Select 'Hello MySQL,This is my first procedure ' //

Create procedure second_p()Select current_date from cqupt //

CALL first_p()//

CALL second_p()//

4.在步骤3的基础上,创建存储过程third_p(),显示表cqupt中的数据,并对其进行调用测试。

Create procedure third_p()Select * from cqupt //

CALL third_p()//

5.执行

五、教学过程中

(三)实验内容的第2部分创建及调用带参数的存储过程,验证带参数的存储过程的创建和调用方法。

CREATE PROCEDURE simpleproc(OUT param1 INT)SELECT COUNT(*)INTO param1 FROM cqupt //

CREATE PROCEDURE simpleproc1(IN param1 INT)SET @x = param1-100 //

CALL simpleproc(@a)// Select @a//

CALL simpleproc1(5500)// Select @x//

6.在步骤5的基础上,创建存储过程simpleproc2(),对传入参数进行乘以10的处理,变量定义@x,并对其进行调用测试。

CREATE PROCEDURE simpleproc2(IN param1 INT)SET @x = param1 * 10 //

CALL simpleproc2(50)// Select @a//

CALL simpleproc2(0)// Select @a//

7.用Drop Procedure语句删除存储过程first_p。drop procedure first_p//

遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

对语句的理解不够透彻,以及在实验中经常出现一些低级错误,通过仔细阅读指导书进行解决。

心得体会:通过本次实验,很好了解了MySQL的存储过程的创建、修改和删除的方法和步骤

对其存储过程有了一定的了解,同时掌握了在MySQL Command Line Client调用参数和不带参数的存储过程。对其也有了一定了解。

实验日志九

指导教师

祝家钰

实验时间:

2016 年

5月 18 日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目:

MySQL 应用开发环境的建立

实验目的:

通过在 Windows 平台下,搭建 Apache Httpd Web 服务器,PHP 脚本支持,访问 MySQL 数据库等,学习了解 MySQL 应用开发环境的建立过程。

本次实验通过安装 Apache HTTD Server 2.2、PHP 5.3.28,配置 httpd.conf 和 PHP.ini 文件,完成 MySQL 的 PHP 应用开发环境的建立。实验内容:(叙述自己编写的程序)

1.安装 Apache httpd 服务器

2.安装 MySQL 数据库服务器

MySQL 数据库服务器安装已经完成。3.php5.3.28 安装

在httpd.conf 文件最后面添加如下代码,并保存文件。PHPIniDir “D:/php5.3.28” LoadModule php5_module “D:/php5.3.28/php5apache2_2.dll” AddType application/x-httpd-php.php.html 语句功能:使apache服务器支持php文件解析

将 刚 刚 查 找 到 的 extension_dir 前 面 的 ; 去 掉,并 将 其 设 置 为 extension_dir=“D:/php5.3.28/ext”。语句功能:使用此版本的php。

保存 php.ini 文件,点击右下角,找到 Apache 2.2 图标,单击右键,选择 Open Apache Monitor,出现 Apache Service Monitor 对话框,点击 Restart 按钮重启 Apache 让刚刚修改的配置生效,或者在前面的命令行窗口中,输入 httpd –k restart 回车,重新启动 Apache http 服务。如果有错误,根据错误 信息对前面的配置文件进行修改。

用记事本建立 php 测试文件 phpinfo.php,将起放置到 Apache Httpd 的文件目 录 C:Program Files(x86)Apache Software FoundationApache2.2htdocs 下,phpinfo.php 内容如下 重启两次apache 结果:在浏览器中打开 http://localhost:8080/phpinfo.php

此时,Apache 已经支持 PHP 和mysql了。

用记事本建立 php 测试文件 mysqlconn.php,将起放置到 Apache Httpd 的文件 目 录 C:Program Files(x86)Apache Software FoundationApache2.2htdocs下,mysqlconn.php 内容如下: 语句的功能:

定义一个myconn变量,用if语句进行判断,如果连接成功则输出数据库连接成功!可以申请老师检查!结果:

遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

安装过程出现了一些问题,因为之前电脑上有,但是还是需要重新配置,所以通过重新配置环境,使得实验完成。

心得体会:

通过本次实验完成 MySQL 的 PHP 应用开发环境的建立,了解了MySQL 应用开发环境的建立过程。

实验日志十

指导教师

祝家钰

实验时间:

2016 年

5月 25 日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目:

MySQL应用开发环境的建立(C/S)

实验目的:

在Windows平台下,通过JDBC连接MySQL数据库,编写java程序对数据库操作,学习了解C/S模式下的MySQL应用开发

实验内容:(叙述自己编写的程序)

1.下载mysql-connector-java并且解压到d盘。2.建立student表并填入数据

语句如下:

CREATE table student(sno char(7)NOT NULL, sname VARCHAR(8)not NULL, sex char(2)NOT NULL);INSERT INTO student(sno,sname,sex)VALUES('S0001','张三','男');INSERT INTO student(sno,sname,sex)VALUES('S0002','李四','男');INSERT INTO student(sno,sname,sex)VALUES('S0003','王五','男');这样便有了一个表:

3.配置JDBC 运行eclipse,从菜单中选择“Windows—>Preferences” 从左边的展开“Java”项,选中“Installed JREs” 选中表格中已安装的JRE 点击“Edit”按钮,出现“Edit JRE”窗口 点击“Add External JARs”按钮,出现“Jar Selection”窗口,在解压mysql-connector-java-5.1.38.zip的目录中找到

mysql-connector-java-5.1.38-bin.jar,并点击“打开 点击“Finish”按钮完成添加 4.编写java程序

在eclipse中新建一个Java Project输入Project名称“JDBCTest” 选中已建立的Project“JDBCTest”,点击右键,在JDBCTest中新建一个类输入类名“JDBCTest” 在“JDBCTest.java”中输入程序 程序如下:

package jDBCTest;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;

publiccla JDBCTest {

publicstaticvoid main(String[] args){

// TODO Auto-generated method stub try{ Cla.forName(“com.mysql.jdbc.Driver”);String url=“jdbc:mysql://127.0.01:3306/test”;

String user=“root”;String pawd = “mysql”;Connection if(!connection.isClosed())System.out.println(“Succeeded connection to the connection=DriverManager.getConnection(url,user,pawd);Databash”);

} } 运行结果:Statement statement=connection.createStatement();String sql=“select * from student”;ResultSet rs = statement.executeQuery(sql);System.out.println(“学号”+“t”+“姓名”);String name = null;while(rs.next()){ name = rs.getString(“sname”);System.out.println(rs.getString(“sno”)+“t”+name);} rs.close();connection.close();}catch(ClaNotFoundException e){ System.out.println(“Sorry,can't find the Driver!”);e.printStackTrace();}catch(SQLException e){ e.printStackTrace();}catch(Exception e){ e.printStackTrace();}

修改java程序实现对student表中数据的增加和删除。对java中的sql语句进行修改,添加一个插入语句。

String sql=“INSERT INTO student(sno,sname,sex)VALUES('S0004','杨鑫磊','男')”;

statement.executeUpdate(sql);sql=“select * from student”;ResultSet rs=statement.executeQuery(sql);运行结果:

遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

结合eclipse运用java对数据库进行操作,由于是第一次做比较陌生,在插入语句上有一些问题,但是通过询问和查阅很好的完成了插入语句的编写以及在eclipse的运行。

心得体会:

通过JDBC连接MySQL数据库,编写java程序对数据库操作,学习和了解了C/S模式下的MySQL应用开发。很好地完成了要求。也了解了数据库与eclipse的联系对JDBC有了一定的认知。

实验日志十一

指导教师

祝家钰

实验时间:

2016 年

6月 1 日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目:

MySQL 的触发器

实验目的:

触发器是特定事件出现的时候,自动执行的代码块,类似于存储过程。触发 器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器 是不能被直接调用的,由 DBMS 自动执行。

触发器具有这些功能:

1、允许/限制对表的修改;

2、自动生成派生列,比 如自增字段;

3、强制数据一致性;

4、提供审计和日志记录;

5、防止无效的事 务处理;

6、启用复杂的业务逻辑。

本次实验了解 MySQL 触发器的创建、修改和删除的方法和步骤,掌握在 Navicat for MySQL 中对触发器的进行创建、修改和删除,掌握触发器触发测试 的方法。

实验内容:(叙述自己编写的程序)

1.启动 Navicat for MySQL,在 MySQL – 新建连接中完成连接参数配置。2.登录到本地数据库服务器后,连接到 test 数据库上。

3.执行

五、教学过程中

(三)实验内容的第一部分创建简单触发器,验证触发器 的创建和触发器的触发测试。触发器创建: use test;Create trigger audit_student

Before insert On student

For each row

Begin

Insert into student_log(Who,whattime)Values(current_user,current_timestamp);

End;触发测试:

select * from student_log;工作结果:

4.执行

五、教学过程中

(三)实验内容的第二部分改造简单触发器,增加触发类 型判断功能,验证触发器的改造和改造后的触发器触发测试。改造:alter table student_log add(action varchar(20));增加的语句:Begin

Insert into student_log(Who,whattime,action)Values(current_user,current_timestamp,'插入语句触发');

End 测试结果:

5.自行编写 student 表的触发器 aduit_student_update,在对 student 表进行 更新操作前触发,触发时,向 student_log 表写入触发用户、触发时间和触发类 型。并对该新建进行触发测试。更新语句:

UPDATE student SET sage=40 WHERE sage=50;触发器更新语句:use test;Create trigger audit_student_update

Before UPDATE On student

For each row

Begin

Insert into student_log(Who,whattime,action)Values(current_user,current_timestamp,'更新操作前触发');

End;结果:

6.自行编写 student 表的触发器 aduit_student_delete,在对 student 表进行 删除操作后触发,触发时,向 student_log 表写入触发用户、触发时间和触发类 型。并对该新建进行触发测试。删除语句:

DELETE FROM student WHERE sname='吴思远';触发器删除语句: use test;Create trigger audit_student_delete

AFTER DELETE On student

For each row

Begin

Insert into student_log(Who,whattime,action)Values(current_user,current_timestamp,'删除操作后触发');

End;结果:

遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

触发器语句的不熟悉,在自行编写 student 表的触发器 aduit_student_delete的时候一些语法上出现了错误,及时进行了改正。

心得体会:

了解了数据库的触发器,以及对触发器有了一定的认识。了解 MySQL 触发器的创建、修改和删除的方法和步骤,掌握了在Navicat for MySQL 中对触发器的进行创建、修改和删除,掌握触发器触发测试的方法。

实验日志十二

指导教师

祝家钰

实验时间:

2016 年

3月 23 日 学院

计算机

专业

智能科学大类

班级

0401410

学号

2014211727

姓名

周泓源

实验室

s331

实验题目:SQL 语言数据控制语言 DCL

实验目的:

SQL 的数据控制通过 DCL(数据控制语言)实现。DCL 通过对数据库用户的授 权和权限回收命令来实现有关数据的存取控制,以保证数据库的安全性。

本次实验了解 DCL 语言的 GRANT 和 REVOKE 语句对数据库存取权限的控制,学会在Navicat for MySQL中用GRANT、REVOKE语句对数据库存取权限进行设定。

实验内容:(叙述自己编写的程序)

执行以下内容:

1.启动 Navicat for MySQL,在 MySQL – 新建连接中完成 root 连接参数配置。2.登录到本地数据库服务器后,连接到 mysql 数据库上。

3.执行

五、教学过程中

(三)实验内容的第一部分创建用户 jason,密码为 abc123, 并授权该用户完整访问数据库 test。即执行如下 DCL 语句: GRANT ALL ON test.* TO jason@“%” IDENTIFIED BY “abc123”;

4.启动另外一个 Navicat for MySQL,在 MySQL – 新建连接中完成 jason 连接 参数配置。

双击 jason 连接到该用户对应的数据库 test 上。test 整个数据库。

点击查询->新建,执行如下语句

select host,user,paword from mysql.user;我们看到,这条 SELECT 语句被拒绝执行,没有查询到相应的数据。为了能查询 到相应的数据,我们必须进行授权操作。运行 MySQL 的命令行客户端软件。在MySQL 的命令行客户端软件中进行登录然后执行grant select on mysql.user to jason;语句对其进行授权。授权结果:

接下来,切换到 MySQL 的命令行客户端,执行如下两条语句,创建一个简单的表,为后面的 INSERT 授权操作做准备。use mysql;create table dcltest(id int,name varchar(20));切换到 Navicat for MySQL,新建一个查询,执行如下插入语句 insert into mysql.dcltest(id,name)values(1,'张三丰');

我们看到,这条 INSERT 语句被拒绝执行,没有完成数据的插入。为了能插入数 据,我们必须进行授权操作。

切换到 MySQL 的命令行客户端,执行如下授权语句,进行 INSERT 权限的授予,grant insert on mysql.dcltest to jason;授权后,现在切换到 Navicat for MySQL,执行之前窗口中的插入语句

输入如下查询语句

select * from mysql.dcltest;

再对其进行授权:

grant select on mysql.dcltest to jason;授权之后进行查询:

权限授予后,root(数据库超级用户)可以进行权限的回收。

切换到 Navicat for MySQL,新建一个查询,执行如下插入语句: insert into mysql.dcltest(id,name)values(2,'扫地僧');

目前,我们能顺利的插入数据到表 mysql.dcltest 中,接下来我们要回收该权限,切换到 MySQL 的命令行客户端,执行如下权限回收语句,进行 INSERT 权限的回 收:

revoke insert on mysql.dcltest from jason;切换到 Navicat for MySQL,新建一个查询,执行如下插入语句: insert into mysql.dcltest(id,name)values(3,'天山童姥');

我们看到,由于权限被回收,这条 INSERT 语句被拒绝执行,没有完成数据的插 入。新建一个查询,执行如下查询语句 select * from mysql.dcltest;

目前,我们能顺利的查询表 mysql.dcltest 中的数据,接下来我们要回收该权限,切换到 MySQL 的命令行客户端,执行如下权限回收语句,进行 SELECT 权限的回收 revoke select on mysql.dcltest from jason;

切换到 Navicat for MySQL,执行之前的查询语句

我们看到,由于权限被回收,这条 SELECT 语句被拒绝执行,没有完成数据的查 询。

请大家在理解以上内容的基础上,1对mysql 数据库的dcltest 表的UPDATE 权限进行 GRANT 权限授予 grant update on mysql.dcltest to jason;

Mysql下的运行结果

2对mysql 数据库的 dcltest 表的UPDATE 权限进行 EVOKE 权限回收操作(MySQL 的命令行客户端中执行),revoke update on mysql.dcltest from jason;

遇到的问题及解决:(程序编写调试过程中出现的错误及解决方法)

在本次实验中需要在MySQL 的命令行客户端中对mysql 数据库的表的权限进行权限授予 但是却忘了,所以老是得不到想要的结果,然后发现了这个问题,就解决了,也在Mysql下得到了想要的运行结果。

心得体会:通过本次实验了解了 DCL 语言的 GRANT 和 REVOKE 语句对数据库存取权限的控制,学会了在Navicat for MySQL中用GRANT、REVOKE语句对数据库存取权限进行设定。很好的完成了试验指标。

数据库原理及应用实验报告 6

实验成绩《数据库系统原理及应用》实 验 报 告 六专业班级: 计算机科学与技术学号: 201116910233姓名:范晓曈指导教师:苏小玲2013年月 21 日 实验六名称: SQL Server存储过程......

数据库实验报告

数据库系统原理课程设计总结报告学院: 软件学院 专业: 软件工程 年级: 2009 学号: 20092647 姓名: 李野1、开发环境Windows7系统2、DBMS系统架构采用向量的存储结构存储数据字典......

数据库实验报告

实验一 PowerDesigner 的 CDM 应用1:实验目的使用PowerDesinger进行数据库概念模型设计,掌握CDM中的实体、实体属性、实体与实体之间联系的操作方法。 2:实验内容建立一个“实......

数据库实验报告

实验7 索引和数据完整性的使用1、目的与要求 (1) 掌握索引的使用方法;(2) 掌握数据完整性的实现方法;2、实验准备(1) 了解索引的作用与分类; (2) 掌握索引的创建方法;(3) 理解数据的完整性......

数据库实验报告

10包三 李雅 100910306实验报告一、实验题目:数据库基本操作实验二、实验目的:掌握数据库的建立、表的设计基本方法,通过实际操作熟练掌握数据库的基本操作——数据的输入与导......

下载数据库实验报告613word格式文档
下载数据库实验报告613.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文