目标:

使用Connection对象取得Statement实例

使用Statement进行数据增删改。

Statement接口

要对数据库操作,要使用Statement完成。此接口可以使用Connection接口中提供的createStatement()方法实例化。

证明:所有操作必须从连接展开,通过连接取得操作接口实例。

向student表中增加数据。

package 类集;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.Statement ;
public class InsertDemo01{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "aaaaaa" ;
public static void main(String args[]) throws Exception { // 所有的异常抛出
Connection conn = null ; // 数据库连接
Statement stmt = null ; // 数据库操作
Class.forName(DBDRIVER) ; // 加载驱动程序
String sql = "insert into student values('大红',35)";
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
stmt = conn.createStatement() ; // 实例化Statement对象
stmt.executeUpdate(sql) ; // 执行数据库更新操作
stmt.close() ; // 关闭操作
conn.close() ; // 数据库关闭
}
};

执行结果:

Sun Apr 09 20:46:14 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

查询数据库:

证明成功插入。

动态插入数据

package 类集;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.Statement ;
public class InsertDemo01{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "aaaaaa" ;
public static void main(String args[]) throws Exception { // 所有的异常抛出
Connection conn = null ; // 数据库连接
Statement stmt = null ; // 数据库操作
Class.forName(DBDRIVER) ; // 加载驱动程序
String name = "李康" ; // 姓名
int age = 23 ; // 年龄
String sql = "INSERT INTO student(name,age) "+
" VALUES ('"+name+"','"+age+"')" ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
stmt = conn.createStatement() ; // 实例化Statement对象
stmt.executeUpdate(sql) ; // 执行数据库更新操作
stmt.close() ; // 关闭操作
conn.close() ; // 数据库关闭

}
};

数据库查询结果:

为什么要关闭两次:

stmt.close() ;                    // 关闭操作
conn.close() ; // 数据库关闭

数据库操作中,只可以关闭一次,这一次就是关闭操作,一般JDBC中要进行正者打开,倒着关闭。

更新操作:

package 类集;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.Statement ;
public class UpdateDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "aaaaaa" ;
public static void main(String args[]) throws Exception { // 所有的异常抛出
Connection conn = null ; // 数据库连接
Statement stmt = null ; // 数据库操作
Class.forName(DBDRIVER) ; // 加载驱动程序

String name = "李华" ; // 姓名
int age = 25 ; // 年龄
String sql = "UPDATE student SET name='"+name+"', age=" + age+" where name='大红'";
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
stmt = conn.createStatement() ; // 实例化Statement对象
stmt.executeUpdate(sql) ; // 执行数据库更新操作

stmt.close() ; // 关闭操作
conn.close() ; // 数据库关闭
}
};

操作结果:

成功更新。

数据删除

package 类集;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.Statement ;
public class DeleteDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "aaaaaa" ;
public static void main(String args[]) throws Exception { // 所有的异常抛出
Connection conn = null ; // 数据库连接
Statement stmt = null ; // 数据库操作
Class.forName(DBDRIVER) ; // 加载驱动程序
String sql = "DELETE FROM student" ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
stmt = conn.createStatement() ; // 实例化Statement对象
stmt.executeUpdate(sql) ; // 执行数据库更新操作
stmt.close() ; // 关闭操作
conn.close() ; // 数据库关闭
}
};

成功删除

JDBC操作,执行数据库更新操作的更多相关文章

  1. 吴裕雄--天生自然JAVA数据库编程:执行数据库更新操作

    import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public clas ...

  2. 使用原生JDBC方式对数据库进行操作

    使用原生JDBC方式对数据库进行操作,包括六个步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM.可以通过java.lang.Class类的静态方法forNa ...

  3. python 数据库更新操作

    数据库更新操作 更新操作用于更新数据表的的数据,以下实例将 EMPLOYEE 表中的 SEX 字段为 'M' 的 AGE 字段递增 1: #!/usr/bin/python # -*- coding: ...

  4. Python学习(21)python操作mysql数据库_操作

    目录 数据库连接 创建数据库表 数据库插入操作 数据库查询操作 数据库更新操作 删除操作 执行事务 错误处理 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TEST. 在TEST数 ...

  5. JDBC增删改数据库的操作

    JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于 ...

  6. JDBC技术对数据库进行操作

    什么是 JDBC: • JDBC(Java DataBase Connectivity)java 数据库连接 • 是 JavaEE 平台下的技术规范 • 定义了在 Java 语言中连接数据,执行 SQ ...

  7. jdbc连接远程数据库进行操作

    链接远程数据库的时候,要把获得链接的url进行修改 1 package com.test; import java.sql.Connection; import java.sql.DriverMana ...

  8. 记录Access数据库更新操作大坑一个

    对于更新Access数据库的操作,必须保持参数数组与sql语句中参数顺序一致,如下: public bool Update(MyModel model) { StringBuilder strSql ...

  9. server用JDBC对mysql数据库进行操作

    1:获取数据库连接 Connection connection=getConnection(); 2:准备SQL语句 3:调用Connection的creatStatement()方法获取Statem ...

随机推荐

  1. 【BZOJ 3166】【HEOI 2013】Alo

    http://www.lydsy.com/JudgeOnline/problem.php?id=3166 这道题难点在于求能对一个次大值有贡献的区间. 设这个次大值为\(a_i\),\(a_i\)左边 ...

  2. Codeforces 550 D. Regular Bridge

    \(>Codeforces \space 550 D. Regular Bridge<\) 题目大意 :给出 \(k\) ,让你构造出一张点和边都不超过 \(10^6\) 的无向图,使得每 ...

  3. Java学习笔记(11)

    自定义异常类: 自定义异常类的步骤:自定义一个类继承Exception即可 public class CustomClass { public static void main(String[] ar ...

  4. Problem D: 零起点学算法94——输出矩阵

    #include<stdio.h> int main() { ][]; while(scanf("%d %d",&n,&m)!=EOF) { ; ;i& ...

  5. PHP时间戳是10位的,JS时间戳是13位

    var dateStr = new Date(time * 1000);  

  6. MongoDB 刷新几次就报错

    官方: MongoDB.Driver 在页面上 速度刷新几次,就会抛错? 为何? Service 层  Autofac

  7. Android获取apk的版本及包名等信息

    import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationIn ...

  8. MLP 之手写数字识别

    0. 前言 前面我们利用 LR 模型实现了手写数字识别,但是效果并不好(不到 93% 的正确率). LR 模型从本质上来说还只是一个线性的分类器,只不过在线性变化之后加入了非线性单调递增 sigmoi ...

  9. [转]SQL Server表分区

    本文转自:http://www.cnblogs.com/knowledgesea/p/3696912.html 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区 ...

  10. Wishbone B3总线Generic RAM写法

    以下Verilog HDL代码符合wishbone总线B3标准协议,在Altera和Xilinx的开发工具上可以实现综合,自动推断并采用片上RAM资源,可以完成内存内容的初始化. /* ******* ...