一、boolean execute(String sql)

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

返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;

返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量。

st = con.createStatement();   boolean ret = st.execute("select username,age from employee");
//boolean ret = st.execute("update employee set age=10");
con.commit();   if (ret == true) {   System.out.println("获取的结果集是:");   ResultSet rs = st.getResultSet();   while (rs.next()) {   System.out.println(rs.getString(1) + ":" + rs.getInt(2));   }   rs.close();   }  else {   System.out.println("更新的结果是:" + st.getUpdateCount());   }  

二、int executeUpdate(String sql)

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

返回值是更新的记录数量

三、ResultSet executeQuery(String sql) 

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

-------------------------------------------------------------------------------------------------------

JDBC中Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。

1>方法executeQuery  用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

如:

//加载数据库驱动

Class.forName("com.mysql.jdbc.Driver");

//使用DriverManager获取数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",                 "root","1234");

//使用Connection来创建一个Statment对象 Statement stmt = conn.createStatement();

//执行查询语句 ResultSet rs =stmt.executeQuery("select * from teacher");

//把查询结果输出来

while (rs.next())

{

System.out.println(rs.getInt(1) + "\t" + rs.getString(2));  }

2>方法executeUpdate

用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数(int),指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。

如:

//加载数据库驱动

Class.forName("com.mysql.jdbc.Driver");

//使用DriverManager获取数据库连接

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",                 "root","1234");

//使用Connection来创建一个Statment对象

Statement stmt = conn.createStatement();  //执行DML语句,返回受影响的记录条数

return stmt.executeUpdate(sql);

3>方法execute:      可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是ResultSet,则返回true,否则返回false。但它执行SQL语句时比较麻烦,通常我们没有必要使用execute方法来执行SQL语句,而是使用executeQuery或executeUpdate更适合,但如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句了。 如:

//加载驱动

Class.forName(driver);

//获取数据库连接

conn = DriverManager.getConnection(url , user , pass);

//使用Connection来创建一个Statment对象

stmt = conn.createStatement();

//执行SQL,返回boolean值表示是否包含ResultSet

boolean hasResultSet = stmt.execute(sql);

//如果执行后有ResultSet结果集

if (hasResultSet)

{

//获取结果集

rs = stmt.getResultSet();

//ResultSetMetaData是用于分析结果集的元数据接口

ResultSetMetaData rsmd = rs.getMetaData();

int columnCount = rsmd.getColumnCount();

//迭代输出ResultSet对象

while (rs.next())

{//依次输出每列的值

for (int i = 0 ; i < columnCount ; i++ )

{

System.out.print(rs.getString(i + 1) + "\t");

}

System.out.print("\n");

}

}

else

{

                System.out.println("该SQL语句影响的记录有" + stmt.getUpdateCount() + "条");
            }

转载于:https://www.cnblogs.com/wukong0214/p/3262883.html

execute、executeUpdate、executeQuery三者的区别相关推荐

  1. mysql点击execute_MySQL execute、executeUpdate、executeQuery三者的区别

    execute.executeUpdate.executeQuery三者的区别(及返回值) 一.boolean execute(String sql) 允许执行查询语句.更新语句.DDL语句. 返回值 ...

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

    ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象. 2.int executeUpdate(String sql); 可执行增,删 ...

  3. execute、executeUpdate、executeQuery三者的区别及返回值

    一. boolean  execute(String sql) 允许执行查询语句.更新语句.DDL语句. 返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果:返回值 ...

  4. execute、executeQuery和executeUpdate之间的区别

    execute.executeQuery和executeUpdate之间的区别 JDBCTM中Statement接口提供的execute.executeQuery和executeUpdate之间的区别 ...

  5. java executequery_java execute、executeQuery和executeUpdate之间的区别

    在用纯JSP做一个页面报警功能的时候习惯性的用executeQuery来执行SQL语句,结果执行update时就遇到问题,语句能执行,但返回结果出现问题,另外还忽略了executeUpdate的返回值 ...

  6. (转)execute、executeQuery和executeUpdate之间的区别

    execute.executeQuery和executeUpdate之间的区别 JDBCTM中Statement接口提供的execute.executeQuery和executeUpdate之间的区别 ...

  7. sql语句 execute、executeQuery和executeUpdate之间的区别

    execute.executeQuery和executeUpdate之间的区别 JDBC中Statement 接口提供了三种执行 SQL 语句的方法:executeQuery.executeUpdat ...

  8. java execute、executeQuery和executeUpdate之间的区别

    在用纯JSP做一个页面报警功能的时候习惯性的用executeQuery来执行SQL语句,结果执行update时就遇到问题,语句能执行,但返回结果出现问题,另外还忽略了executeUpdate的返回值 ...

  9. JDBC之execute、executeQuery和executeUpdate之间的区别

    execute.executeQuery和executeUpdate之间的区别 JDBC中Statement接口提供的execute.executeQuery和executeUpdate之间的区别 S ...

  10. Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别

    java execute,executeQuery和executeUpdate之间的区别 关注:269  答案:4  信息版本:手机版 电脑版 解决时间 2021-01-25 18:31 提问者怪咖 ...

最新文章

  1. Android规范文档
  2. 剑指offer:反转链表
  3. mongodb java id 查询数据_java 用 _id 查找 MongoDB 下的数据
  4. 经验之谈:10位顶级PHP大师的开发原则
  5. MATLAB中的微积分运算(数值符号)
  6. 小哼买书JAVA编写,04_小哼买书
  7. Java B2B2C o2o多用户商城 springcloud架构-docker-feign-hystrix(六)
  8. 基于结构的虚拟筛选模型 gnina 从源码编译
  9. Rational Rose :从用例图开始
  10. 对Librehash海洋协议审查的回应
  11. 电脑主机组装总结——自己动手,丰衣足食
  12. 单片机实验五、外部中断实验
  13. php 将汉字转为拼音,PHP汉字转换为拼音字头原理
  14. 安卓手机运行python程序
  15. linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料
  16. 跨境支付行业洗牌在即:本月底必须登记 支付机构不得再“借牌照”
  17. 图书馆数据库资源访问方法
  18. 致终将逝去的2021
  19. nchar 和 nvarchar
  20. mongodb数据库优缺点分析(扫盲)

热门文章

  1. 用SpringBoot集成Netty开发一个基于WebSocket的聊天室
  2. 怎样在photoshop中快速批量,修改图片
  3. Windows下的命令行。
  4. bzoj 3123 可持久化线段树启发式合并
  5. 鲇鱼效应”也有副作用
  6. 从客户变成员工在租赁公司打工--我成为程序员所经历的(三)
  7. DDS核心规范-DDS v1.4、DDSI-RTPS、IDL
  8. python源码保护之cython
  9. bat文件启动虚拟环境然后继续在虚拟环境里进行操作采用CALL
  10. tensorflow功能函数