mysql数据库实训总结_数据库实训报告

实训报告

实训课程:

JAVA WEB项目实训

实训名称:

JAVA项目实训综合能力培养 实训地点:中国江苏无锡国家软件园巨蟹座C601 学生姓名:胥康 学号:140703133 指导教师:张志华

实训时间:2016年7月22日

实训数据库MySQL与JAVA 编程

一、实训目的

熟悉扫描器结构及工作原理,监测输入实训结果分析,通过该实训,从设计到性能测试完成完整的实训流程,锻炼同学编程能力、测试能力、设计能力、全局把控能力、学习能力、动手能力和分析问题能力等。

二、实训内容

1、设计好数据库结构,录入测试数据五条以上。

2、通过标准Statement语句对象,完成增删改查四个类编程。

三、实训器材 教学投影机一台、个人笔记本电脑一台、本地服务器一台(教师机)

四、实训步骤与结果

/** *功能:完成数据查询

*/ package com.ec;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** * @author xukang * */ public class SelectData {

/**

* @paramargs

*

*/

public static void main(String[] args) throws Exception{

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost:3306/ECDB1?useSSL=false";

String user="root";

String password="12345678";

Connection conn=DriverManager.getConnection(url,user,password);

Statement st=conn.createStatement();

String sql="select * from ware";

ResultSet r=st.executeQuery(sql);

while (r.next()) {

System.out.println(r.getInt(1)+"\t"+r.getString(2)+"\t"+r.getFloat(3)+"\t"+r.getString(4)+"\t"+r.getString(5)+"\t"+r.getString(6));

}

r.close();

st.close();

conn.close();

// TODO Auto-generated method stub

} }

/** * 功能:完成数据插入工作

*/ package com.ec;

import java.net.PasswordAuthentication; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; /** * @author xukang * */ public class InsetData {

/**

* @paramargs

*/ public static void main(String[] args) throws Exception{

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost:3306/ECDB1?useSSL=false";

String user="root";

String password="12345678";

Connection conn=DriverManager.getConnection(url,user,password);

Statement st=conn.createStatement();

//关键点:查询---executeQuery() 增删改-----executeUpdate()/executeLargeUpdate()

String sql="insert into ware values(10,'蛋糕',100.0,'快乐','黄色','徐州')";

st.executeUpdate(sql);

// TODO Auto-generated method stub

st.close();

conn.close();

} }

/** *

*/ package com.ec;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement;

import org.omg.PortableInterceptor.USER_EXCEPTION;

import com.mysql.jdbc.Driver; /** * @author asus * */ public class UpdateData {

/**

* @param args

*/ public static void main(String[] args) throws Exception{

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost:3306/ECDB1?useSSL=false";

String user="root";

String password="12345678";

Connection conn=DriverManager.getConnection(url,user,password);

Statement st=conn.createStatement();

String sql="update ware set name='飞机' where id=6";

st.executeUpdate(sql);

st.close();

conn.close();

// TODO Auto-generated method stub

} }

/** *

*/ package com.ec;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; /** * @author xukang * */ public class DeleteData {

/**

* @paramargs

*/ public static void main(String[] args) throws Exception{

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost:3306/ECDB1?useSSL=false";

String user="root";

String password="12345678";

Connection conn=DriverManager.getConnection(url,user,password);

Statement st=conn.createStatement();

String sql="delete from ware where id=10";

st.executeUpdate(sql);

st.close();

conn.close();

// TODO Auto-generated method stub

} }

五、分析与结论

针对实训的测试结果其中重要的结论如下:

通过扫描器课题的实训课程的学习,掌握了java基本扫描器工作原理、结构设计,形成了完整的java的认识,激发了对java的研究兴趣,同时通过该课程锻炼了自己的针对目标的学习能力、分析能力和动手能力。

北京联合大学

实训报告

课程(项目)名称: 数据库原理 学 院: 联大师范学院 专 业:计算机科学与技术 班 级: 10级1班 学 号: 2010020306133 姓 名: 蒋 丹 成 绩:

2012年 6 月 8 日

目录

1、概述........................................................................................ 错误!未定义书签。

2、总体设计................................................................................ 错误!未定义书签。

2.1、需求分析..................................................................... 错误!未定义书签。 2.

2、项目规划..................................................................... 错误!未定义书签。 2.3、系统功能架构图......................................................... 错误!未定义书签。

3、系统设计................................................................................ 错误!未定义书签。

3.1、设计目标..................................................................... 错误!未定义书签。 3.

2、开发及运行环境......................................................... 错误!未定义书签。 3.3、数据库设计................................................................. 错误!未定义书签。

3.3.1、系统E-R图...................................................... 错误!未定义书签。 3.3.

2、主要数据表的结构.......................................... 错误!未定义书签。

4、主要功能模块设计................................................................ 错误!未定义书签。

4.1、连接数据库................................................................. 错误!未定义书签。 4.

2、主窗体设计................................................................. 错误!未定义书签。 4.3、系统登录..................................................................... 错误!未定义书签。 4.

4、商品入库..................................................................... 错误!未定义书签。 4.5、库存盘点..................................................................... 错误!未定义书签。 4.

6、入库查询..................................................................... 错误!未定义书签。

5、结论........................................................................................ 错误!未定义书签。

6、参考资料................................................................................ 错误!未定义书签。

7、评语.......................................................................................................................... 4

2

7、评语

工作态度(认真、一般、较差),工作量(饱满、一般、不够),每个任务能够独立(完成、基本完成、在辅导下完成),程序运行结果(正确、基本正确、部分正确),实训报告格式(标准、一般)。创新意识(较强、一般、没有),运行所学知识解决实际问题的能力(强、一般、较差)。

 优(100~90):能够熟练运用开发工具,编程解决实际问题,创意新颖,功能实现完善。

 良(89~80):能够熟练运用开发工具,编程解决实际问题,有一定创新,功能实现较好。

 中(79~70):能够较熟练使用开发工具,编程解决实际问题,独立完成实训,功能实现一般。

 及格(69~60):能够运用开发工具,在教师辅导下完成实训,实现部分功能。  不及格(59~0):编程解决实际问题的能力差,功能实现较差。

实训成绩为: 分 教师签字:

12:update sc set grade=grade+5 where cno='c01' 运行结果:

13:delete sc where cno=(select cno from course where cname ='高等数学') 运行结果:

14:create unique index ind_cname on course(cname) 运行结果:

1:use school go create view avggrade as select s.sdept,avg(sc.grade) as'avggrade' from student s,sc sc where s.sno=sc.sno and sc.grade is not null group by s.sdept go select * from avggrade go

附件:

1、创建触发器

1、创建触发器trigger_9_1,实现当修改学生课程表(xskc)中的数据时,显示提示信息“学生课程表被修改了”。

在学生课程表上建立触发器,具体操作如下: 在查询分析器的查询窗口中,输入如下T-SQL语句: USE 学生成绩库 GO CREATE TRIGGER trigger_9_1 ON xskc FOR UPDATE AS

PRINT ‘学生课程表被修改了’ GO 执行后,在学生课程表上触发器trigger_9_1创建成功。

2、创建触发器trigger_9_3,实现当删除学生课程表中某门课程的记录时,对应学生成绩表中所有有关此课程的记录均删除。

可以在查询分析器的查询窗口中输入如下语句: USE 学生成绩库 GO CREATE TRIGGER trigger_9_3 ON xskc FOR DELETE AS

C程序设计 实训

DELETE xscj FROM xscj,deleted WHERE xscj.课程号=deleted.课程号 GO

3、创建触发器trigger_9_4,实现当修改学生课程表(xskc)中的某门课的课程号时,对应学生成绩表(xscj)中的课程号也作修改。

当修改学生课程表中记录时,相当于删除一条旧记录并插入一条新记录,删除的旧记录在deleted临时表中,插入的新记录在inserted临时表中。因此,可以通过在查询分析器的查询窗口中输入如下语句创建触发器:

USE 学生成绩库 GO CREATE TRIGGER trigger_9_4 ON xskc FOR UPDATE AS

IF update(课程号) BEGIN UPDATE xscj

SET 课程号=(SELECT 课程号 FROM inserted) FROM xscj,deleted WHERE xscj.课程号=deleted.课程号 END GO 我们可以通过修改某门课的课程号,来查看触发器是否被激发执行了。现在通

C程序设计 实训

过一个语句修改原课程号为“101”的学生课程表中的记录,将其课程号改为“111:”

UPDATE xskc SET 课程号=’111’ WHERE 课程号=’101’

然后,再查看一下学生成绩表中的记录。可以看到原来的“101”课程的课程号均改成了“111”,但课程名不变,还是“计算机文化基础”。

2、修改触发器

如果需要修改触发器的定义,只需一个操作即可除去并重新创建触发器,或重新定义已有触发器。

如果更改触发器引用的对象名,则必须修改触发器使其文本反映新的名称。因此,在重命名对象前,首先显示该对象的相关性,以确定所建议的更改是否会影响任何触发器。

也可以重命名触发器。新名称必须遵守标识符规则。您只能重命名自己拥有的触发器,而数据库所有者可以更改任意用户的触发器名称。需重命名的触发器必须位于当前数据库中。

可以使用ALTER TRIGGER语句修改触发器。

4、如果已通过例9.2创建了触发器trigger_9_2,现要对它进行修改,要求显示的提示信息改为“学生课程表中课程号为XXX的记录被修改了”。

可以在查询分析器的查询窗口中使用ALTER TRIGGER语句修改触发器,语句如下:

USE 学生成绩库

C程序设计 实训

GO ALTER TRIGGER trigger_9_2 ON xskc FOR UPDATE AS

DECLARE @kch char(3) SELECT @kch=课程号 FROM deleted PRINT ‘学生课程表中课程号为’+@kch+’的记录被修改了’ GO 触发器被修改,再执行下述更新语句: UPDATE xskc SET 学分=5 WHERE 课程号='101' 可以在结果窗格中,看到消息:“学生课程表中课程号为101的记录被修改了”。

3、删除触发器

当不再需要某个触发器时,可将其删除。当触发器被删除时,它所基于的表和数据并不受影响。删除表将自动删除其上的所有触发器。删除触发器的权限默认授予在该触发器所在表的所有者。

可以使用DROP TRIGGER语句删除触发器。

5、删除学生课程表上的触发器trigger_9_2。

在查询分析器的查询窗口中输入语句: DROP TRIGGER trigger_9_2 执行后,触发器即被删除。

C程序设计 实训

《数据库系统概论》实训报告

上机坏境:XP系统SQL Server Management Studio 2008

实训步骤:

一、表的建立

1·建立“供应商关系”S表

2·建立“关系零件” P表

3·建立“工程关系”J表

4·建立“供应关系”SPJ表

二、输入表的数据;

1·输入“供应商关系”S表数据:

2·输入“关系零件” P表数据:

3·输入“工程关系”J表数据:

4·输入“供应关系”SPJ表数据:

三、用SQL语句表达下列查询:

1·检索供应零件给编号为J1的工程的供应商编号SNO

2检索供应零件给工程J1,且零件编号为P1的供应商编号SNO

3查询全体工程的详细信息

4查询没有正余额的工程编号、名称及城市,结果按工程编号升序排列

5求使用零件数量在100与1000之间的工程的编号、零件号和数量

6、查询上海的供应商名称(假设供应商关系的SADDR列的值都以城市名开头)

7、求使用了P3零件的工程名

8、求供应零件给工程J1,且零件颜色为红色的供应商编号SNO

9、求至少使用了零件编号为P3和P5的工程编号JNO

10、求不使用编号为P3零件的工程编号JNO和名称JNAME

11、求使用了全部零件的工程名称

12、求至少用了供应商’S1’所供应的全部零件的工程号JNO

13、求供应P3零件的供应商个数

14求项目余额的最大值,最小值,总值和平均值,输出的列名分别为:MAX_NUMBER,MIN_NUMBER,SUM_NUMBER,AVG_NUMBER

15统计每个供应商供应不同零件的种数和供应总数量

16统计上海地区的项目使用零件的种数(超过3种)和零件总数量。要求查询结果按零件的种数升序排列,种数相同时按总数量降序排列。

17求不使用编号为P3零件的工程编号JNO和名称JNAME

18检索至少不使用P3和P5这两种零件的工程编号JNO

19查询最昂贵的零件单价

20查询至少使用了‘东方配件厂’一种零件的工程编号

四.心得体会 经过此次实训,认识到数据库是数据管理的最新技术,是计算机科学的重要分支。促进了信息的便捷管理和查询。在语句的查询中代码的准确性和语句的理解至关重要。

在老师的悉心教导和上机实验实践当中度过的,经过这次实训,让我们学习到了很多东西,让我们又多掌握了一项专业的技术,今后我们将更努力的学习这门课程,勤于实践,不断提高。

你可能感兴趣的:(mysql数据库实训总结)