JDBC连接MYSQL数据库示例详解编程语言
JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用JAVA编写的类和接口组成。说白了就和PHP的PDO一样,通过JDBC,JAVA可以使用相同 的API接口来链接例如:MYSQL,SQLSERVER等不同类型的数据库。 连接MYSQL数据库:
package main; import java.sql.Connection; import java.sql.DriverManager; public class Mysql { public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL System.out.print("yes"); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage());
Class.forName( com.mysql.jdbc.Driver ).newInstance(); 我们链接的是MYSQL数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中木有安装,可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37/jre/lib/ext 重启eclispe 就可以在JRE系统库中看到。
con = DriverManager.getConnection( jdbc:mysql://127.0.0.1:3306/test , root , root ); 是链接数据库的语句,返回Connection con对象。参数格式:( jdbc:mysql://ip:端口/数据库名称 , 用户名,密码)
写入一条数据
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /** * 入口函数 * @param arg public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL Statement stmt; //创建声明 stmt = con.createStatement(); //新增一条数据 stmt.executeUpdate("INSERT INTO user (username, password) VALUES (init, 123456)"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id);
stmt.executeUpdate INSERT DELETE UPDATE语句都用executeUpdate函数来操作
stmt.executeQuery SELECT语句都用stmt.executeQuery函数来操作
ResultSet res = stmt.executeQuery( select LAST_INSERT_ID() ); 查询最后插入数据的ID号,返回ResultSet res对象
删除和更新数据
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /** * 入口函数 * @param arg public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL Statement stmt; //创建声明 stmt = con.createStatement(); //新增一条数据 stmt.executeUpdate("INSERT INTO user (username, password) VALUES (init, 123456)"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id); //删除一条数据 String sql = "DELETE FROM user WHERE id = 1"; long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数 System.out.print("DELETE:" + deleteRes); //更新一条数据 String updateSql = "UPDATE user SET username = xxxx WHERE id = 2"; long updateRes = stmt.executeUpdate(updateSql); System.out.print("UPDATE:" + updateRes);
删除和更新数据都使用stmt.executeUpdate函数。
删除和更新数据都会返回一个Long的结果,如果为0,则删除或者更新失败,如果大于0则是操作的记录数
查询语句
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class Mysql { /** * 入口函数 * @param arg public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL Statement stmt; //创建声明 stmt = con.createStatement(); //新增一条数据 stmt.executeUpdate("INSERT INTO user (username, password) VALUES (init, 123456)"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id); //删除一条数据 String sql = "DELETE FROM user WHERE id = 1"; long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数 System.out.print("DELETE:" + deleteRes); //更新一条数据 String updateSql = "UPDATE user SET username = xxxx WHERE id = 2"; long updateRes = stmt.executeUpdate(updateSql); System.out.print("UPDATE:" + updateRes); //查询数据并输出 String selectSql = "SELECT * FROM user"; ResultSet selectRes = stmt.executeQuery(selectSql); while (selectRes.next()) { //循环输出结果集 String username = selectRes.getString("username"); String password = selectRes.getString("password"); System.out.print("/r/n/r/n"); System.out.print("username:" + username + "password:" + password);
查询语句使用stmt.executeQuery函数
rs.absolute() //绝对位置,负数表示从后面数
rs.first()第一条
rs.last()最后一条
rs.previoust()前一条
rs.next()后一条
rs.beforeFirst()第一条之前
rs.afterLast()最后之后
rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast
11067.html
cjavamysqlphpsqlserver相关文章
- pycharm连接mysql数据库代码_navicat连接数据库
- 妙用MySQL批量Update加快数据库运行(mysql批量update)
- MySQL Variables pseudo_slave_mode 数据库 参数变量解释及正确配置使用
- 优化MySQL配置,助你提升性能(mysql如何优化配置)
- MySQL中查询表引擎机制研究(mysql查询表引擎)
- 优化MySQL 数据库连接参数优化:最佳实践(mysql数据库连接参数)
- MySQL数据库应用: 驱动包开启新体验(mysql数据库驱动包)
- MySQL配置文件ini:完整指南(mysql配置文件ini)
- 文件MySQL更新实现快速PHP文件升级(mysql更新php)
- MySQL求最大值的方法(mysql最大值)
- MySQL如何复制一条记录(mysql复制一条记录)
- 轻松获取64位MySQL,提升数据库效率(64位mysql下载)
- MySQL 数据库:轻松解压指南(mysql数据库的解压)
- MySQL数据库查找:发掘无限可能(mysql数据库查找)
- MySQL 存储过程声明:优化数据库操作(mysql存储过程声明)
- 如何解决MySQL中的Error 10055问题(mysql中10055)
- 个版本更好64位MySQL选择哪个版本更适合你(64为mysql下载哪)
- 如何将 Mysql 数据库迁移到新的目录(mysql一定要更换目录)
- 回顾MySQL一周前的数据库技术(mysql 一周前)
- MySQL数据库不支持多线程操作的原因及解决方法(mysql不支持多线程)