数据库实验报告
更新时间:2023-11-06 13:14:01 阅读量: 教育文库 文档下载
学 生 实 验 报 告
课程名称:
学生学号:
所属院部:
(理工类)
MySQl数据库应用试验 专业班级:)
学生姓名:
指导教师:
2015——2016学年 第 学期
金陵科技学院教务处制
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。
实验报告书写说明
实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:MySQL数据库的下载、安装与配置 实验学时:
同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
(1)熟悉MySQL数据库的下载、安装与配置 二、实验仪器和设备
主流 PC 机一套,要求安装 windows 操作系统 三、实验过程
四、实验结果与分析 安装成功!
五、实验心得
通过本次试验,学习到了MySQl的安装。我开始学习MySQL之路。
实验项目名称: 通过JDBC技术来实现对表的CRUD操作 实验学时:
同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
(1)掌握JDBC数据库连接技术;
(2)掌握 mysql或oracle数据库的安装与配置; (3)掌握 常用的SQL语句; (4)掌握
Connection、DriverManager、Statement、
、
CallableStetement
、
ResultSet
、
PreparedStatement
ResultSetMetaData等接口类的使用。 二、实验仪器和设备
主流 PC 机一套,要求安装 windows 操作系统和JDK及Eclipse开发工具软件、MySql数据库及驱动; 三、实验过程
package db_operator;
import java.sql.*;
import org.junit.Test;
import com.mysql.jdbc.Connection;
public class dboperator {
public static Connection getConnection() throws ClassNotFoundException,
SQLException {
Connection con=null; try{
Class.forName(\驱动类的连接 con=(Connection)
DriverManager.getConnection(\6\
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){ }
return con;
e.printStackTrace();
查询
public void testSelect() {
String
sql=\
max(salary),min(salary),avg(salary),count(*),sum(salary)\
Connection con=null; PreparedStatement ps=null; ResultSet rs=null; try {
con=dboperator.getConnection();
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
} catch (SQLException e1) { }
if(con!=null){
try{
ps=con.prepareStatement(sql); rs=ps.executeQuery(); if(rs.next()){
System.out.println(\最高工资\\t最低工资\\t平均工资\\t员工数\\t
// TODO Auto-generated catch block e1.printStackTrace();
月发工资总数\
System.out.println(rs.getDouble(1)+\
}
rs.getDouble(3)+\
}catch(SQLException e){ } finally{
if(rs!=null){ }
if(ps!=null){
try { try {
rs.close();
e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
ps.close();
} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace();
}
}
if(con!=null){ try {
con.close();
} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace();
}
}
} }
} 增加
public void testadd() {
String
sql_add=\
into
(id ,name ,salary)values('9','zhaoqi','7000')\ Connection con=null; PreparedStatement ps=null; int result; try {
con=dboperator.getConnection();
tb_yg
ps=con.prepareStatement(sql_add); result = ps.executeUpdate(); if(result>0){ }
System.out.println(\插入成功!\
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { } finally{
if(ps!=null){ }
if(con!=null){ }
try {
con.close(); try {
ps.close();
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
}
}
更改
public void test_update(){
String sql_update=\ Connection con=null;
PreparedStatement ps=null; int result; try {
con=dboperator.getConnection(); ps=con.prepareStatement(sql_update); result = ps.executeUpdate(); if(result>0){ }
System.out.println(\修改成功!\
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { } finally{
// TODO Auto-generated catch block e.printStackTrace();
} }
if(ps!=null){ }
if(con!=null){ }
try {
con.close(); try {
ps.close();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
@Test 删
public void test_delete(){
String sql_delete=\ Connection con=null;
PreparedStatement ps=null; int result; try {
con=dboperator.getConnection(); ps=con.prepareStatement(sql_delete); result = ps.executeUpdate();
}
if(result>0){ }
System.out.println(\删除成功!\
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { } finally{
if(ps!=null){ }
if(con!=null){ }
try {
con.close(); try {
ps.close();
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) { }
// TODO Auto-generated catch block e.printStackTrace();
} }
四、实验结果与分析
1、
2、添加成功! 3、更改成功! 4、删除成功!
五、实验心得
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。 通过本次试验,我熟悉了JDBC的使用!
实验项目名称:学生选课系统的数据库分析、设计与实现 实验学时:
同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
(1)了解静态与动态常用Web技术;
(2)掌握常用Web服务器的安装与配置,例如Tomcat; (3)掌握Servlet类的编写及在web.xml中的注册与映射过程; (4)掌握Servlet的生命周期过程;
(5)掌握JSP的常用标签,以及JSTL、EL的使用。。 二、实验仪器和设备
主流 PC 机一套,要求安装 windows 操作系统、mysql或oracle数据库、eclipse、Tomcat等工具及软件。 三、实验过程 1、数据表的设计:
1表tb_classes(班级)
Field cid cname Cdesc
Type vachar(11) vachar(11) vachar(11)
Null —— ——
Key PRI —— ——
Comment 班级编号 班级名称 班级描述
2表tb_student(学生信息表)
Field
Type
Null
Key
Comment
Stuid name Sex Stu_cid
varchar(50) varchar(50) varchar(50) varchar(50)
—— —— —— ——
PRI —— —— FOR
学号 姓名 性别 课程号
3表tb_course(课程信息表)
Field cid cname cnum cdesc
Type varchar(50) varchar(50) int
Null —— —— ——
Key PRI —— ——
Comment 课号 课名 数量
varchar(100)
4表tb_student_course(学生选课成绩表)
Field Stuid
Type varchar(15)
Null ——
Key PRI(FOR)
cid
varchar(15)
——
PRI(FOR)
chengji
5表tb_teacher(老师信息表)
Field tid Tname
Type varchar(15) varchar(15)
Null —— ——
Key PRI
Comment 工号 姓名
Int
——
——
成绩 课号 Comment 学号
6表tb_teacher_course(教师教课表)
Field tid
Type varchar(15)
Null ——
Key PRI(FOR)
cid
varchar(15)
——
PRI(FOR)
课号 Comment 工号
2、系统分析
系统功能描述
该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的: 1.管理学生信息,其中包括添加,删除,修改等操作。 2.管理课程信息,其中包括添加,删除,修改等操作。 3.管理选课信息,其中包括添加,删除,修改等操作。
4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。
学号=new JTextField(12); 姓名=new JTextField(12); 系别=new JTextField(12); 课号=new JTextField(12); 课名=new JTextField(12); 课号1=new JTextField(12); 学号1=new JTextField(12); 成绩=new JTextField(12);
查找=new JButton(\查找学生信息\); 查找1=new JButton(\查找课程信息\); 查找2=new JButton(\查找选课信息\);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); Box box5=Box.createHorizontalBox(); Box box6=Box.createHorizontalBox(); Box box7=Box.createHorizontalBox();
box1.add(new JLabel(\学号:\,JLabel.CENTER)); box1.add(学号);
box1.add(new JLabel(\姓名:\,JLabel.CENTER)); box1.add(姓名);
box1.add(new JLabel(\系别:\,JLabel.CENTER)); box1.add(系别); box2.add(查找);
box4.add(new JLabel(\课号:\,JLabel.CENTER)); box4.add(课号);
box4.add(new JLabel(\课名:\,JLabel.CENTER)); box4.add(课名); box6.add(查找1);
box5.add(new JLabel(\课号:\,JLabel.CENTER)); box5.add(课号1);
box5.add(new JLabel(\学号:\,JLabel.CENTER)); box5.add(学号1);
box5.add(new JLabel(\成绩:\,JLabel.CENTER)); box5.add(成绩); box7.add(查找2);
Box boxH1=Box.createVerticalBox();//竖放box boxH1.add(box1); boxH1.add(box2);
boxH1.add(Box.createVerticalGlue()); Box boxH2=Box.createVerticalBox();//竖放box boxH2.add(box4); boxH2.add(box6);
boxH2.add(Box.createVerticalGlue());
Box boxH3=Box.createVerticalBox();//竖放box boxH3.add(box5); boxH3.add(box7);
boxH3.add(Box.createVerticalGlue()); 查找.addActionListener(this); 查找1.addActionListener(this); 查找2.addActionListener(this); JPanel messPanel=new JPanel(); JPanel picPanel=new JPanel(); JPanel threePanel=new JPanel(); messPanel.add(boxH1); picPanel.add(boxH2); threePanel.add(boxH3);
setLayout(new BorderLayout()); JSplitPane splitV=new
JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割 add(splitV,BorderLayout.CENTER);
JSplitPane splitV1=new
JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);//分割 add(splitV1,BorderLayout.CENTER);
validate();}
效果图:
四、实验结果与分析
功能基本实现,选课系统有时不太稳定,会出现崩溃情况!
五、实验心得
通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。
其实,在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。其次,要细心仔细。Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。
正在阅读:
数据库实验报告11-06
生物信息学复习资料04-14
一件趣事作文550字06-23
《填写支票基本要求》说课稿04-29
自信的作文600字03-12
毕业论文参考题目12-30
中职德育第五课教案 - 图文04-02
清洁生产审核报告 - 图文01-23
五年级递等式计算07-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 数据库
- 报告
- 在线教育林业建设项目可研编制规定
- 4.护骨胶囊对成骨细胞增殖、分化影响 - 图文
- 03706思想道德修养与法律基础复习重点
- 关于2018年在市直安置的98名营职及以下
- 湖北省无纸化学法用法练习 第九章 公务员依法行政常见违法问题
- 微微小说° 因为,你是我的蓝颜知己
- 预应力混凝土管桩施工工艺
- 关于加强冬季雨雪天气在建项目安全管理通知
- 2018年中国猪苓中药材行业研究报告目录
- 六年级数学分数百分数基础应用题练习题1
- 餐桌上的礼仪
- wqs数字式人体脉搏器的设计
- 2012届高三化学一轮复习 2.3化学平衡状态教学案 苏教版
- 车床专业英语翻译
- 我国对外贸易地区分布与贸易结构现状分析
- 四年级趣味语文1
- 河北工业大学操作系统实验报告linux - 和windows部分
- 《混凝土结构设计》课程设计 - - - 整体式单向板肋梁楼盖
- 2017-2022年晋宁县体育小镇市场前景调查及投资咨询报告(目录) - 图文
- 圆系方程的简单应用