import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MyDatabase1{
public static void main(String[]args){
String driver ="com.mysql.jdbc.Driver";
//驱动程序名
String url= "jdbc:mysql://127.0.0.1:3306/list";
//URL指向要访问的数据库名list
String user ="root";
//MySQL配置时的用户名
String password="root";
try{
//加载驱动程序
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
//连接数据库
Statement statement=conn.createStatement();
//statement用来执行SQL语句
String sql="select * from class2";
//要执行的SQL语句
ResultSet rs=statement.executeQuery(sql);
//结果集
System.out.println(".......");
System.out.println("执行结果是:");
System.out.println(".......");
System.out.println("c_no"+"c_name"+"c_group"+"s_address");
System.out.println(".......");
String name = null;
while(rs.next()) {
// 选择c_name这列数据
name = rs.getString("c_name");
System.out.print(rs.getString("c_no") + "\t" );
System.out.print(rs.getString("c_name") + "\t" );
System.out.print(rs.getString("c_group") + "\t" );
System.out.println(rs.getString("s_address") + "\t" );
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
【目的】
1.掌握MySQL数据库的使用方法。
2.掌握Java操作MySQL数据库的方法。
【目标】
目标1:MySQL数据库的基本操作,包括MySQL的安装、创建数据库、数据表、增删改查操作(80分)。
目标2:Java操作MySQL数据库,包括基本步骤和具体的编码实现(90分)。
【方法】
1. 遇到问题,想办法解决问题。有智慧=找原因+想办法。充分利用百度、Google进行搜索。
2. 先达成初步目标,再逐步深入、凝练、总结。
【作业要求】
1.MySQL数据库的基本操作,包括如下两个工作:
(1)在MySQL数据库中插入两个文件中的数据(List_Class1.txt, List_Class1_Submit.xls,点击下载)。
(2)利用SQL命令查找所有 出现在“List_Class1”中,未出现在“List_Class1_Submit” 的学生名单,并保存或输出(截图)。
2. Java操作MySQL数据库。
(1)连接作业1中建立的数据库中的相关的表(table),输出到控制台或Java的相关控件(如表格控件)中。
(2)Java语言编程实现数据库的插入、删除、修改某一条或若干条记录。
目标1:MySQL数据库的基本操作,包括MySQL的安装、创建数据库、数据表、增删改查操作。
我安装的MySQL的版本为——mysql-5.6.24-win32.msi;
安装MySQL成功后,我创建了数据库:wl131,创建该数据库的代码为:create database wl131;
接着,我创建了两张相关的表,表名分别为:class1,class2,创建该表的代码分别是:
create table class1(c_nu char(6),c_no char(20),c_name char(10),c_class char(10),c_sex char(2),primary key(c_no));
create table class2(c_no char(10),c_name char(10),c_group char(2),s_address char(100),primary key(c_no));
创建好两张表之后,我利用命令——describe 表名,分别查看了表的结构,图片如下所示:
‘
创建好表之后,就开始插入相关的数据。由于本次的作业,着重于安装数据库、使用Mysql的命令以及用JAVA代码连接数据表,所以我在插入数据的时候,并没有完全将给出的数据都插入,只是插入了前15行的数据。 不知道,是因为mysql版本的问题,还是其它的问题,在该窗口下,不能够正确显示中文,原来输入的中文都被"?"号代替了。
(1)连接作业1中建立的数据库中的相关的表(table),输出到控制台或Java的相关控件(如表格控件)中。
以下为源代码:
import java.sql.*;
public class MyDatabase {
public static void main(String[]args){
String driver ="com.mysql.jdbc.Driver";
//驱动程序名
String url= "jdbc:mysql://127.0.0.1:3306/list";
//URL指向要访问的数据库名list
String user ="root";
//MySQL配置时的用户名
String password="root";
try{
//加载驱动程序
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
//连接数据库
Statement statement=conn.createStatement();
//statement用来执行SQL语句
String sql="select * from class1";
//要执行的SQL语句
ResultSet rs=statement.executeQuery(sql);
//结果集
System.out.println(".......");
System.out.println("执行结果是:");
System.out.println(".......");
System.out.println("c_nu"+"c_no"+"c_name"+"c_class"+"c_sex");
System.out.println(".......");
String name = null;
while(rs.next()) {
// 选择c_name这列数据
name = rs.getString("c_name");
System.out.print(rs.getString("c_nu") + "\t" );
System.out.print(rs.getString("c_no") + "\t" );
System.out.print(rs.getString("c_name") + "\t" );
System.out.print(rs.getString("c_class") + "\t" );
System.out.println(rs.getString("c_sex") + "\t" );
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
总结
本次作业,到现在还没有完全完成,而且完成的部分作业的过程及结果也是比较粗糙。
在做作业的过程中,遇到的问题比较多。
首先,在安装mysql数据库的过程中,就遇到问题。选择的版本一般,在安装前没有认真注意安装过程需要配置的参数;在安装的时候,设置了不必要的参数,最后要重新卸载再安装。
其次,在利用mysql创建数据库及表的时候,又忘记了其命令,所以不得不百度。在建表插入数据的时候,由于没有注意一些细节上的问题,所以导致数据插入的成功率很低,而且插入的数据不能够正确显示。
最后,在编写代码的时候,又不知道该用到哪些包,如何加载等等。