最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql2/promise 中 execute 和 query 的使用最佳實(shí)踐

 更新時間:2025年08月28日 09:44:23   作者:清風(fēng)細(xì)雨_林木木  
mysql2/promise中,execute使用預(yù)處理語句,嚴(yán)格類型檢查且防SQL注入,適合頻繁執(zhí)行,query直接拼接SQL,參數(shù)綁定更寬松,適用于簡單查詢,LIMIT/OFFSET在query中不會報錯,execute需拼接數(shù)字常量,本文給大家介紹mysql2/promise中execute和query的使用,感興趣的朋友一起看看吧

mysql2/promise 中 execute 和 query 的使用

1.executevsquery

方法原理特點(diǎn)
db.execute()使用 Prepared Statement (預(yù)處理語句)參數(shù)嚴(yán)格類型檢查,性能穩(wěn)定,防 SQL 注入
db.query()直接拼接 SQL 發(fā)送給 MySQL 執(zhí)行參數(shù)綁定更寬松,對 LIMIT/OFFSET 不會類型檢查

2. 為什么query可以?

因?yàn)?query 方法:

  • 不走 prepare + execute 兩階段過程
  • 而是 一次性發(fā)送完整 SQL(即使你用 ? 占位符,也只是 Node.js 側(cè)簡單替換后拼接),

所以,下面代碼對 query 來說是可行的:

const sql = `SELECT * FROM dictionary ${searchQuery} ORDER BY id ASC LIMIT ? OFFSET ?`;
const [results] = await db.query(sql, [...searchParams, Number(pageSize), Number(offset)]);

3. 什么時候使用 query?

  • 語句不需要重復(fù)執(zhí)行、對性能要求不極致時,可用 query,代碼更寬容。
  • 如果 LIMIT、OFFSET 參數(shù)會報錯,換 query 可以快速解決。

4. 什么時候使用 execute?

  • 當(dāng) SQL 需要頻繁執(zhí)行(如同一個查詢反復(fù)調(diào)用),使用 execute 結(jié)合 Prepared Statement 可以提升性能。
  • 需要嚴(yán)格防 SQL 注入時,優(yōu)先 execute,但在 LIMIT/OFFSET 場景需改成拼接數(shù)字。

5. 最佳實(shí)踐

查詢數(shù)據(jù)

const sql = `SELECT * FROM table LIMIT ${Number(limit)} OFFSET ${Number(offset)}`;
const [rows] = await db.execute(sql, params);
// 或者
const [rows] = await db.query(sql, params);

更新/插入

const [result] = await db.execute('INSERT INTO user(name) VALUES(?)', [name]);

總結(jié)

queryLIMIT/OFFSET 場景下可直接使用,不會出現(xiàn) Incorrect arguments to mysqld\_stmt\_execute 錯誤
如果使用 execute,LIMIT/OFFSET 需拼接數(shù)字常量

到此這篇關(guān)于mysql2/promise 中 execute 和 query 的使用最佳實(shí)踐的文章就介紹到這了,更多相關(guān)mysql execute 和 query使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • windows上的mysql服務(wù)突然消失提示10061 Unkonwn error問題及解決方案

    windows上的mysql服務(wù)突然消失提示10061 Unkonwn error問題及解決方案

    windows10 系統(tǒng),今天早晨系統(tǒng)自己更新了下,也沒啥問題,突然發(fā)現(xiàn)電腦上安裝的mysql 服務(wù)沒了,經(jīng)過一系列原因分析終于找到解決方案,今天小編給大家分享mysql服務(wù)突然消失:10061 Unkonwn error解決方法,一起看看吧
    2023-07-07
  • Mysql 數(shù)字類型轉(zhuǎn)換函數(shù)

    Mysql 數(shù)字類型轉(zhuǎn)換函數(shù)

    Mysql 數(shù)字類型轉(zhuǎn)換函數(shù),有此需要的朋友可以參考下用法。
    2009-08-08
  • MySQL外鍵創(chuàng)建失敗1005原因匯總

    MySQL外鍵創(chuàng)建失敗1005原因匯總

    MySQL外鍵創(chuàng)建失敗1005原因有很多,本文整理了一些,希望對大家有所幫助
    2014-01-01
  • mysql中engine=innodb和engine=myisam的區(qū)別介紹

    mysql中engine=innodb和engine=myisam的區(qū)別介紹

    MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持,本文為大家講解下mysql中engine=innodb和engine=myisam的區(qū)別,不懂的朋友可以學(xué)習(xí)下,希望對大家有所幫助
    2013-07-07
  • 親手教你SQLyog12.08安裝詳細(xì)教程

    親手教你SQLyog12.08安裝詳細(xì)教程

    SQLyog?是一個快速而簡潔的圖形化管理MYSQL數(shù)據(jù)庫的工具,它能夠在任何地點(diǎn)有效地管理你的數(shù)據(jù)庫,這篇文章主要介紹了SQLyog12.08安裝詳細(xì)教程,需要的朋友可以參考下
    2023-04-04
  • MySQL5.6解壓版服務(wù)無法啟動之系統(tǒng)錯誤1067問題

    MySQL5.6解壓版服務(wù)無法啟動之系統(tǒng)錯誤1067問題

    這篇文章主要介紹了MySQL5.6解壓版服務(wù)無法啟動—系統(tǒng)錯誤1067問題及解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Redis與MySQL的雙寫一致性問題

    Redis與MySQL的雙寫一致性問題

    這篇文章只要介紹了Redis與MySQL雙寫一致性,主要是指在使用緩存和數(shù)據(jù)庫同時存儲數(shù)據(jù)的場景下( 主要是存在高并發(fā)的情況),如何保證兩者的數(shù)據(jù)一致性(內(nèi)容相同或者盡可能接近),感興趣的同學(xué)可以借鑒一下
    2023-03-03
  • mysql數(shù)據(jù)庫備份設(shè)置延時備份方法(mysql主從配置)

    mysql數(shù)據(jù)庫備份設(shè)置延時備份方法(mysql主從配置)

    這篇文章主要介紹了mysql數(shù)據(jù)庫延時備份的方法,也就是mysql主從服務(wù)器備份,可以同步到多個服務(wù)器,最后我們提供了一個備份腳本,大家參考使用吧
    2013-12-12
  • MySQL遞增主鍵不連續(xù)的四種場景問題及解決

    MySQL遞增主鍵不連續(xù)的四種場景問題及解決

    本文解釋了MySQL中auto_increment的原理和四種導(dǎo)致自增主鍵不連續(xù)的情況:自增初始值和步長設(shè)置不為默認(rèn)、唯一鍵沖突、事物回滾、批量插入,每種情況都有詳細(xì)的解釋和具體示例,有助于理解MySQL中的自增主鍵機(jī)制
    2026-04-04
  • CentOS安裝mysql5.7 及簡單配置教程詳解

    CentOS安裝mysql5.7 及簡單配置教程詳解

    這篇文章主要介紹了CentOS安裝mysql5.7 及簡單配置教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02

最新評論

全南县| 双牌县| 油尖旺区| 扶绥县| 时尚| 北川| 司法| 精河县| 珠海市| 宣汉县| 宜都市| 西畴县| 富民县| 泰兴市| 杨浦区| 榆中县| 叶城县| 大石桥市| 调兵山市| 安吉县| 金坛市| 乌拉特中旗| 峨边| 阿鲁科尔沁旗| 常德市| 科尔| 崇州市| 崇阳县| 宿松县| 油尖旺区| 巴南区| 墨玉县| 台南市| 高邮市| 时尚| 慈溪市| 尤溪县| 东兰县| 聊城市| 烟台市| 长沙市|