首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统)
右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码
选择数据库(use mytest;),查看当前存在的表(show tables;),发现有多余的表,删除多余表,可以一个删除,也可以一次删除多个(drop table aaa;drop tables biao,qqq,qwde,qwe;)
分别查看当前表内的记录
select * from cars;
select * from students;
select * from uses;
到此,当前数据库的内容的查看完毕。
接下来打开eclipse,下面是源码:
package Test;
import java.io.UnsupportedEncodingException;
import java.sql.*;
import java.util.Scanner;
public class HelloMySQL {
static // 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名
static String url = "jdbc:mysql://127.0.0.1:3306/mytest";
// 用户名,密码
static String user = "root";
static String password = "root";
static Connection conn;
public static void main(String[] args){
init();
display_main();
close();
}
/**
* 显示主菜单
*/
private static void display_main() {
Scanner sc = new Scanner(System.in);
int choose = 0;
String sql;
String sInput;
String sCarNo, sStartDate,sEndDate;
// statement用来执行SQL语句
PreparedStatement statement = null;
ResultSet rs = null;
boolean result = false;
while(true){
System.out.println("请输入所选择操作的序号");
System.out.println("1:车辆信息增删查");
System.out.println("2,用车登记");
System.out.println("3,用车情况查询");
System.out.println("4,用车情况统计");
System.out.println("5,退出");
choose = sc.nextInt();
switch(choose){
case 1:
display_caroptions();
break;
case 2:
System.out.println("请分行输入要插入的车号,开始使用时间,结束使用时间:");
sc.nextLine();
sInput = sc.nextLine();
System.out.println(sInput);
String sInput1 = sc.nextLine();
System.out.println(sInput1);
String sInput2 = sc.nextLine();
System.out.println(sInput2);
// 要执行的SQL语句
sql = new String("insert into uses(cno,startdate,enddate) values(?,?,?)");
System.out.println(sql);
try {
statement = conn.prepareStatement(sql);
statement.setString(1, sInput);
statement.setString(2, sInput1);
statement.setString(3, sInput2);
//execute返回bool类型,表示执行结果,insert语句使用execute()
result = statement.execute();
if(!result){
System.out.println("插入成功");
}else{
System.out.println("插入失败");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
case 3:
System.out.println("请输入要查询的车号:");
sc.nextLine();
sInput = sc.nextLine();
// 要执行的SQL语句
// sql = new String("select * from uses where cno = '" + sInput + "'");
sql = new String("select * from uses where cno=?");
try {
statement = conn.prepareStatement(sql);
//statement.setString(1, sInput);
statement.setString(1, "LP4200");
// 结果集rs为查询到的结果的集合,select语句使用executeQuery()
rs = statement.executeQuery();
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println(" 车号" + "\t" + " 使用开始时间"+ " 使用结束时间");
while(rs.next()) {
// 选择数据
sCarNo = rs.getString("cno");
sStartDate = rs.getString("startdate");
sEndDate = rs.getString("enddate");
// 输出结果
System.out.println(sCarNo + "\t" + sStartDate + "\t" + sEndDate);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
case 4:
try {
// 要执行的SQL语句
sql = "select * from uses";
statement = conn.prepareStatement(sql);
// 结果集
rs = statement.executeQuery();
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println(" 车号" + "\t" + " 使用开始时间" + "\t" + " 使用结束时间");
while(rs.next()) {
// 选择数据
sCarNo = rs.getString("cno");
sStartDate = rs.getString("startdate");
sEndDate = rs.getString("enddate");
// 输出结果
System.out.println(sCarNo + "\t" + sStartDate + "\t" + sEndDate);
}
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case 5:
return;
default:
break;
}
}
}
/**
* 显示车辆信息相关操作
*/
private static void display_caroptions() {
Scanner sc = new Scanner(System.in);
int choose = 0;
int iChangeNum = 0;
String sql;
String sInput;
String sCarNo, sCarBrand,sCarType;
float fPrice = 0;
// statement用来执行SQL语句
PreparedStatement statement = null;
ResultSet rs = null;
boolean result = false;
while(true){
System.out.println("请输入所选择操作的序号");
System.out.println("1:插入车辆信息");
System.out.println("2,删除车辆信息");
System.out.println("3,查询车辆信息");
System.out.println("4,退出");
choose = sc.nextInt();
System.out.println(choose);
switch(choose){
case 1:
System.out.println("请分行输入要插入的车号,汽车品牌,汽车类型,租借每天价格:");
sc.nextLine();
sInput = sc.nextLine();
System.out.println(sInput);
String sInput1 = sc.nextLine();
System.out.println(sInput1);
String sInput2 = sc.nextLine();
System.out.println(sInput2);
fPrice = sc.nextFloat();
System.out.println(fPrice);
// 要执行的SQL语句
sql = new String("insert into cars values(?,?,?,?)");
try {
statement = conn.prepareStatement(sql);
statement.setString(1, sInput);
statement.setString(2, sInput1);
statement.setString(3, sInput2);
statement.setFloat(4, fPrice);
// 结果集
result = statement.execute();
if(!result){
System.out.println("插入成功");
}else{
System.out.println("插入失败");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
case 2:
System.out.println("请输入要删除的车号:");
sc.nextLine();
sInput = sc.nextLine();
// 要执行的SQL语句
sql = new String("delete from cars where cno = ?");
try {
statement = conn.prepareStatement(sql);
statement.setString(1, sInput);
// 更新数据条目,executeUpdate()返回执行SQL语句后,该表更新的记录的数目
iChangeNum = statement.executeUpdate();
if(iChangeNum != 0){
System.out.println(iChangeNum + "条记录已被删除");
}else{
System.out.println("删除失败");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
case 3:
System.out.println("请输入要查询的车号:");
sc.nextLine();
sInput = sc.nextLine();
// 要执行的SQL语句
sql = new String("select * from cars where cno=?" );
try {
statement = conn.prepareStatement(sql);
statement.setString(1, sInput);
// 结果集
System.out.println(sInput);
rs = statement.executeQuery();
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println(" 车号" + "\t" + "品牌"+ "\t"+ "类型"+ "\t" + "每租一天价格");
while(rs.next()) {
// 选择数据
sCarNo = rs.getString("cno");
sCarBrand = rs.getString("cbrand");
sCarType = rs.getString("cartype");
fPrice = rs.getFloat("cpriceperday");
// 输出结果
System.out.println(sCarNo + "\t" + sCarBrand + "\t" + sCarType + "\t" + fPrice);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
case 4:
return;
default:
break;
}
}
}
/**
* 初始化相关资源
*/
private static void init(){
try {
// 加载驱动程序
Class.forName(driver);
// 连续数据库
conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* 关闭相关资源
*/
private static void close(){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
System.out.println("感谢您的使用,再见");
}
}
}
接下来是测试:
以上是车辆操作的部分
接下来是用车用车相关的操作