MySQL execute、executeUpdate、executeQuery三者的區(qū)別
execute、executeUpdate、executeQuery三者的區(qū)別(及返回值)
一、boolean execute(String sql)
允許執(zhí)行查詢語句、更新語句、DDL語句。
返回值為true時(shí),表示執(zhí)行的是查詢語句,可以通過getResultSet方法獲取結(jié)果;返回值為false時(shí),執(zhí)行的是更新語句或DDL語句,getUpdateCount方法獲取更新的記錄數(shù)量。
例子:
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+"條數(shù)據(jù)修改成功!"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
二、int executeUpdate(String sql)
執(zhí)行給定 SQL 語句,該語句可能為 INSERT、UPDATE 或 DELETE 語句,或者不返回任何內(nèi)容的 SQL 語句(如 SQL DDL 語句)。
返回值是更新的記錄數(shù)量
三、ResultSet executeQuery(String sql)
執(zhí)行給定的 SQL 語句,該語句返回單個(gè) ResultSet 對象。
execute是executeUpdate與executeQuery的綜合
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Mysql數(shù)據(jù)庫中datetime、bigint、timestamp來表示時(shí)間選擇,誰來存儲時(shí)間效率最高
這篇文章主要介紹了Mysql數(shù)據(jù)庫中datetime、bigint、timestamp來表示時(shí)間選擇,誰來存儲時(shí)間效率最高,針對這一問題每人回答方式各不相同,下面分享下我的個(gè)人想法,需要的朋友可以參考下2021-08-08mysql實(shí)現(xiàn)將data文件直接導(dǎo)入數(shù)據(jù)庫文件
這篇文章主要介紹了mysql實(shí)現(xiàn)將data文件直接導(dǎo)入數(shù)據(jù)庫文件問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用xtrabackup實(shí)現(xiàn)mysql備份
Xtrabackup 是percona公司的開源項(xiàng)目,用以實(shí)現(xiàn)類似innodb官方的熱備份工具InnoDB Hot Backup的功能,能夠非??焖俚貍浞菖c恢復(fù)MySQL數(shù)據(jù)庫。今天我們就來詳細(xì)討論下Xtrabackup的使用方法2016-11-11mysql+mybatis實(shí)現(xiàn)存儲過程+事務(wù)?+?多并發(fā)流水號獲取
這篇文章主要介紹了mysql+mybatis+存儲過程+事務(wù)?+?多并發(fā)流水號獲取,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法
在這里我們探討使用.frm文件恢復(fù)數(shù)據(jù)表機(jī)構(gòu)(當(dāng)然如果你以前備份過數(shù)據(jù)表,你可以使用調(diào)用備份的數(shù)據(jù)表)2010-02-02解決MySQL批量新增或修改時(shí)出現(xiàn)異常:Lock?wait?timeout?exceeded
這篇文章主要給大家介紹了關(guān)于如何解決MySQL批量新增或修改時(shí)出現(xiàn)異常:Lock?wait?timeout?exceeded;try?restarting?transaction的相關(guān)資料,需要的朋友可以參考下2024-01-01MySQL中基本的用戶和權(quán)限管理方法小結(jié)
這篇文章主要介紹了MySQL中基本的用戶和權(quán)限管理方法小結(jié),是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-08-08Mysql存儲過程、觸發(fā)器、事件調(diào)度器使用入門指南
存儲過程(Stored Procedure)是一種在數(shù)據(jù)庫中存儲復(fù)雜程序的數(shù)據(jù)庫對象。為了完成特定功能的SQL語句集,經(jīng)過編譯創(chuàng)建并保存在數(shù)據(jù)庫中,本文給大家介紹Mysql存儲過程、觸發(fā)器、事件調(diào)度器使用入門指南,感興趣的朋友一起看看吧2022-01-01