MySQL execute、executeUpdate、executeQuery三者的区别

execute、executeUpdate、executeQuery三者的区别(及返回值)

一、boolean execute(String sql)

允许执行查询语句、更新语句、DDL语句。

返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量。

例子:

public static void main(String[] args) { 

 Connection conn = null;
 Statement stm = null;
 ResultSet rs = null;
 try {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test;user=sa;password=sasa");
  stm = conn.createStatement();
  boolean ret = stm.execute("select * from stuinfo");
  if(ret){
  rs = stm.getResultSet();
  while(rs.next()){
   System.out.println("姓名:"+rs.getString("stuName")+"\t年龄:"+rs.getString("stuScore"));
  }
  }
  ret = stm.execute("update stuinfo set stuScore=62 where stuname='张三'");
  int count = stm.getUpdateCount();
  if(!ret){
  System.out.println(count+"条数据修改成功!");
  }
 } catch (ClassNotFoundException e) {
  e.printStackTrace();
 } catch (SQLException e) {
  e.printStackTrace();
 }
 }

二、int executeUpdate(String sql)

执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。

返回值是更新的记录数量

三、ResultSet executeQuery(String sql)

执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。

execute是executeUpdate与executeQuery的综合

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • MySQL prepare语句的SQL语法

    MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement; /*定义*/ EXECUTE statement_name [USING @var_name [, @var_name] ...]; /*执行预处理语句*/ {DEALLOCATE | DROP} PREPARE statement_name /*删除定义*/ ; PREPARE语句用于预备一个语句,并指定名称statement_name,以后引用该语句.

  • 理解Mysql prepare预处理语句

    MySQL 5.1对服务器一方的预制语句提供支持.如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势.候选界面包括MySQL C API客户端库(用于C程序).MySQL Connector/J(用于Java程序)和MySQL Connector/NET.例如,C API可以提供一套能组成预制语句API的函数调用.其它语言界面可以对使用了二进制协议(通过在C客户端库中链接)的预制语句提供支持.对预制语句,还有一个SQL界面可以利用.与

  • php+mysql prepare 与普通查询的性能对比实例讲解

    php+mysql prepare 与普通查询的性能对比 实例代码如下: <?php class timer { public $StartTime = 0; public $StopTime = 0; public $TimeSpent = 0; function start(){ $this->StartTime = microtime(); } function stop(){ $this->StopTime = microtime(); } function spent() {

  • MySQL中预处理语句prepare、execute与deallocate的使用教程

    前言 MySQL官方将prepare.execute.deallocate统称为PREPARE STATEMENT,我习惯称其为[预处理语句],其用法十分简单,下面话不多说,来一起看看详细的介绍吧. 示例代码 PREPARE stmt_name FROM preparable_stmt EXECUTE stmt_name [USING @var_name [, @var_name] ...] - {DEALLOCATE | DROP} PREPARE stmt_name 举个栗子: mysql>

  • MySQL execute、executeUpdate、executeQuery三者的区别

    execute.executeUpdate.executeQuery三者的区别(及返回值) 一.boolean execute(String sql) 允许执行查询语句.更新语句.DDL语句. 返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果:返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量. 例子: public static void main(String[] args) { Connection

  • MySQL中interactive_timeout和wait_timeout的区别

    在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR 2013 (HY000): Lost connection to MySQL server during query ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... 这个报错信息就意味着当前的连接已经断开,需要重新建立连接. 那么,连接的时长是如何确认的?

  • Android中Handler、Thread、HandlerThread三者的区别

    目录 一.前期知识储备 二.三者的区别 三.HandlerThread的使用 一.前期知识储备 (1)Handler类,上官方文档,Handler public class Handler.A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associated with a s

  • 浅谈静态变量、成员变量、局部变量三者的区别

    静态变量和成员变量的区别: A:所属不同 静态变量:属于类,类变量    成员变量:属于对象,对象变量,实例变量 B:内存位置不同 静态变量:方法区的静态区    成员变量:堆内存 C:生命周期不同 静态变量:静态变量是随着类的加载而加载,随着类的消失而消失    成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失 D:调用不同 静态变量:可以通过对象名调用,也可以通过类名调用    成员变量:只能通过对象名调用 成员变量和局部变量的区别: A:在类中的位置不同 成员变量:在类中方法

  • 全面了解mysql中utf8和utf8mb4的区别

    一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换.当然,为了节省空间,一般情况下使用utf8也就够了. 二.内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了.三个字节的 UT

  • 浅析ThinkPHP中execute和query方法的区别

    初学ThinkPHP的时候,很多人都对execute()和query()方法的区别搞不懂,本文就此浅析二者的区别.大家都知道,ThinkPHP中execute()和query()方法都可以在参数里直接输入SQL语句.但是不同的是execute()通常用来执行insert或update等SQL语句,而query常用来执行select等语句. execute()方法将返回影响的记录数,如果执行SQL的select语句的话,返回的结果将是表的总记录数: 复制代码 代码如下: $model = M( "

  • Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项

    1.致欢迎词 我将详细讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语法上以及后面利用Python所解决的项目问题上.而我自己作为小白,很不幸的没有错过任何的坑,都跳了进去,所以在这里写下经验贴,一方面希望能给后来的学者能够高效的避开这些坑,另一方面也算是自己的总结与警告. 2.内容大纲 2.1 安装顺序 能够使用Python的安装过程我建议这样:Anaconda-Pycharm Anaconda我建议安装Anaconda3 原因后面会解

  • php连接mysql之mysql_connect()与mysqli_connect()的区别

    实例 打开一个到 MySQL 服务器的新的连接: <?php $con=mysqli_connect("localhost","wrong_user","my_password","my_db"); // 检查连接 if (!$con) { die("连接错误: " . mysqli_connect_error()); } ?> 定义和用法 mysqli_connect() 函数打开一个到 My

  • Vue中watch、computed、updated三者的区别及用法

    1.watch 理解: 监听器,监听某个数据的变化从而来执行一些操作,当data里面的数据发生变化的时候来执行一下开销较大或异步的操作 1.监听值类型(简单类型)数据 //在一个vue实例中 new Vue({ el:"#myApp", data:{ num1:1, num2:2 }, methods:{}, watch:{ //这里两个属性,第一个值是变化后最新的值,第二个是变化前 num1(after,before){ this.num2 = after +1 } immediat

  • MYSQL中 char 和 varchar的区别

    CHAR和VARCHAR类型相似,差别主要在存储,尾随空格和检索方式上. CHAR和VARCHAR相同的是:CHAR和VARCHAR都指定了字符长度,注意是字符长度.例如char(30) 和 varchar(30)表示都可以存30个字符.有一点要注意的是在utf8mb4编码中,每个字符占4个节点.在utf8中,每个字符占3个字节.当要存储的字符超过CHAR/VARCHAR指定的最大长度.在sql mode 没开启的时候是截断要存储的字串,只存储前30位 CHAR列中的值是定长的字符串.长度可以指

随机推荐