MySQL execute、executeUpdate、executeQuery三者的区别

时间:2022-09-12 09:52:15

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

一、boolean execute(String sql)

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

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

例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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的综合

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

原文链接:http://blog.csdn.net/marvel__dead/article/details/61915446