java简单操作mysql数据库总结

3 篇文章 1 订阅

    最近一直在学习java基础,因为我一直认为基础真的很重要,我同意老师说的找个大例子自习研究,搞懂一个例子,也就学会了一门语言,剩下的只需要深入了解学习。但同时,我也觉得在直接上手大项目例子之前先了解一下基础语法可能会事半功倍,而且能收获更多。

今天看了一下有关java连接mysql数据库的内容,一开始晕乎乎的,完全都不知道要如何下手,就先百度了一个相关的例子,自己亲手敲入后发现有错,

Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver;

了解到是由于没有导入mysql的jar包,于是又接着下载了mysql驱动导入,然而还是有错,看了好久,不知道问题出在哪里,于是很生气的去吃饭了(有点任性了),吃完饭回来重新找了几个例子,自己试着改了一下,将他们融合了一下,这次我先从查询入手,(之前的例子是先尝试着往数据表中插入数据),结果一次就成功了,兴奋之余,我有尝试了一下删除,更新,按条件查找等,结果都很让我满意。最后试着插入数据,也成功了。于是又回头看了一下之前的例子,发现错误原来在

sql = "insert into stu(NO,name) values('2012001','陶伟吉')";

给数据没有加分号。我还发现在操作数据库时要给字段名如:

sql = "update pet set species='mouse' where name='hehe'";    中药给mouse、hehe加上分号;

吃一堑,长一智,以后一定会注意这些问题;

在此,给出我今天练习 的代码:


package mysql数据库测试;


import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class 查询 {
	public static void main(String[] args) throws Exception {
		Connection con = null;
		String sql;
		ResultSet rs;
		
		String url = "jdbc:mysql://localhost:3306/hello?"
				+ "user=root & password=883883 & useUnicode = true & characterEncoding = UTF8";
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("成功加载MySQL驱动程序");
			con = DriverManager.getConnection(url);
			System.out.println("数据库连接成功");
			Statement stmt = con.createStatement();
			
			System.out.println("查询数据:");
			<span style="color:#ff6600;">sql = "select * from pet";	</span>
			String name = null;
			rs = stmt.executeQuery(sql);
			while(rs.next()){
				name = rs.getString(1) + "  " + rs.getString(2) + "  " + rs.getString(3);
				System.out.println(name);
			}


//			System.out.println("插入数据:");
//			<span style="background-color: rgb(255, 255, 255);"><span style="color:#cccccc;">sql = "insert into pet(name,owner) values('hehe','weihong')";</span></span>
//			int rw = stmt.executeUpdate(sql);
//			<span style="color:#ff6600;">sql = "select * from pet";</span>
//			rs = stmt.executeQuery(sql);
//			System.out.println(rw);
//			while(rs.next()){
//				name = rs.getString(1) + "  " + rs.getString(2) + "  " + rs.getString(3);
//				System.out.println(name);
//			}
			
			
			
			
			System.out.println("只输出haha字段的值:");
			<span style="color:#ff6600;">sql = "select * from pet where name = 'haha'";</span>
			rs = stmt.executeQuery(sql);
			while(rs.next()){
				name = rs.getString(1) + "   " + rs.getString(2) + "   " + rs.getString(3);
				System.out.println(name);
			}
			
			
			System.out.println("删除haha这行数据:");
			<span style="color:#ff6600;">sql = "delete from pet where name='haha'";</span>
			stmt.executeUpdate(sql);
			sql = "select * from pet";
			rs = stmt.executeQuery(sql);
			while(rs.next()){
				name = rs.getString(1) + "  " + rs.getString(2) + "  " + rs.getString(3);
				System.out.println(name);
			}
			
			
			System.out.println("更新后:");
			<span style="color:#ff6600;">sql = "update pet set species='mouse' where name='hehe'";</span>
			stmt.executeUpdate(sql);
			<span style="color:#ff6600;">sql = "select * from pet where species='mouse'";</span>
			rs = stmt.executeQuery(sql);
			//System.out.println("aaaaaaaaaaaaaaaa");//检查错误位置
			while(rs.next()){
				name = rs.getString(1) + "   " + rs.getString(2) + "   " + rs.getString(3);
				System.out.println(name);
			}
			
		}
		catch(SQLException e){
			System.out.println("连接失败");
			e.printStackTrace();
		}
	}
}


运行结果:


成功加载MySQL驱动程序
数据库连接成功
查询数据:
beauty  weihong  hamster
flower  weihong  dog
haha  weihong  null
hehe  weihong  mouse
hehe  weihong  mouse
hehe  weihong  mouse
hehe  weihong  mouse
只输出haha字段的值:
haha   weihong   null
删除haha这行数据:
beauty  weihong  hamster
flower  weihong  dog
hehe  weihong  mouse
hehe  weihong  mouse
hehe  weihong  mouse
hehe  weihong  mouse
更新后:
hehe   weihong   mouse
hehe   weihong   mouse
hehe   weihong   mouse
hehe   weihong   mouse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值