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

MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

 更新時間:2020年10月17日 09:17:26   作者:白鹿第一帥  
這篇文章主要介紹了MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

MySQL 報錯:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

前言 今天在使用MySQL語句執(zhí)行增刪改查操作時,控制臺報出了以下錯誤:Parameter index out of range (1 > number of parameters, which is 0)。翻譯過來意思就是:查到結(jié)果數(shù)據(jù)為1,真實值應(yīng)為0,參數(shù)越界,產(chǎn)生錯誤。如此也就明確了我們具體出錯的地方——參數(shù),即對于通配符"?"的處理。本文分別對執(zhí)行普通 SQL 語句以及使用 like 語句進(jìn)行通配符模糊查詢遇到本錯誤進(jìn)行了剖析,并給出解決方案。

在這里插入圖片描述


一、分析 SQL 語句

1、普通 SQL 語句的查詢分析

首先,我們來分析一下我之前使用的 SQL 語句:

String sql = "select count(*) from tab_route where cid = ?";

說明:我們直接使用通配符"?"來代替參數(shù),使用 Spring 框架的 JdbcTemplate 執(zhí)行增刪改查操作。在這里是沒有任何問題的。

2、普通 SQL 查詢語句如何處理

如果在這里出錯,請按照如下方式進(jìn)行解決:

檢查通配符"?"的格式,注意是在英文輸入法下輸入,非中文問號;檢查 SQL 語句,使用通配符傳遞的參數(shù)是不加引號的,比如下面的就是錯誤的:

String sql = "select count(*) from tab_route where cid = '?'";

3、使用 like 通配符模糊查詢語句分析

同理,我們依舊采用上面的方式進(jìn)行模糊查詢操作,來看一下出錯的 SQL 語句:

String sql = "select count(*) from tab_route where rname like '%?%';

執(zhí)行結(jié)果報錯Parameter index out of range (1 > number of parameters, which is 0)。

結(jié)果分析:查到結(jié)果數(shù)據(jù)為1,真實值應(yīng)為0,參數(shù)越界,產(chǎn)生錯誤。

我們明確如下語句是沒有任何問題的:

String sql = select * from tab_route where rname like '%張%';

如此也就明確了我們具體出錯的地方——參數(shù),即對于 like 語句中通配符"?"的處理。

二、like 語句使用通配符模糊查詢剖析

1、like 語句的應(yīng)用場景

使用 like 通配符進(jìn)行模糊查詢是我們在項目中常遇到的,比如在搜索框中對于數(shù)據(jù)的模糊查詢。

2、模糊查詢剖析

在 SQL 語句中無法直接對'%?%'進(jìn)行解析,所以我們需要對連接的字符串進(jìn)行處理,使用動態(tài)拼接concat()方法將'%?%'中的內(nèi)容進(jìn)行連接,然后再執(zhí)行增刪改查操作。

concat(str1,str2,str3...)會生成一個新的字符串

3、正確語句

String sql = "select count(*) from tab_route where rname like concat('%',?,'%')";

三、MyBatis like 模糊查詢及關(guān)鍵字區(qū)分

在 MyBatis 中使用 like 模糊查詢,應(yīng)注意關(guān)鍵字為:#{str},查詢子句為:

select * from table where name like concat('%',#{name},'%');

而如果添加排序字段,應(yīng)注意關(guān)鍵字為:${str},查詢子句為:

select * from table where name like concat('%',#{name},'%') order by ${id};

總結(jié) 本文分別對執(zhí)行普通 SQL 語句以及使用 like 語句進(jìn)行通配符模糊查詢遇到錯誤進(jìn)行了剖析,并給出相應(yīng)解決方案。同時補充了在 MyBatis 中對模糊查詢的操作以及不同關(guān)鍵字的區(qū)分。代碼之路漫漫,望諸君細(xì)致。

在這里插入圖片描述

到此這篇關(guān)于MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)的文章就介紹到這了,更多相關(guān)MySQL 模糊查詢like內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql大表全表查詢的全過程(分析底層的數(shù)據(jù)流轉(zhuǎn)過程)

    Mysql大表全表查詢的全過程(分析底層的數(shù)據(jù)流轉(zhuǎn)過程)

    這篇文章主要介紹了Mysql大表全表查詢的全過程(分析底層的數(shù)據(jù)流轉(zhuǎn)過程),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • mysql中如何判斷是否支持分區(qū)

    mysql中如何判斷是否支持分區(qū)

    這篇文章主要介紹了mysql中如何判斷是否支持分區(qū)的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • Mysql權(quán)限管理grant命令使筆記

    Mysql權(quán)限管理grant命令使筆記

    這篇文章主要介紹了Mysql權(quán)限管理grant命令使筆記,詳細(xì)記錄了常用權(quán)限管理命令,需要的朋友可以參考下
    2014-05-05
  • mysql數(shù)據(jù)庫修改添加Date格式列的方法

    mysql數(shù)據(jù)庫修改添加Date格式列的方法

    這篇文章主要介紹了關(guān)于mysql數(shù)據(jù)庫如何修改添加Date格式的列 ,需要的朋友可以參考下
    2014-07-07
  • MySQL?varchar(n)能存儲幾個漢字

    MySQL?varchar(n)能存儲幾個漢字

    這篇文章主要介紹了MySQL varchar(n)能存儲幾個漢字,MySQL中varchar(n)表示n個字符,無論漢字和英文,Mysql都能存入n個字符,僅是實際字節(jié)長度有所區(qū)別,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Mysql應(yīng)用安裝后找不到my.ini文件的解決過程

    Mysql應(yīng)用安裝后找不到my.ini文件的解決過程

    剛剛在修改mysql默認(rèn)配置的時候,發(fā)現(xiàn)找不到my.ini文件,下面這篇文章主要給大家介紹了關(guān)于Mysql應(yīng)用安裝后找不到my.ini文件的解決過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • MySQL?系統(tǒng)變量(查看,修改)

    MySQL?系統(tǒng)變量(查看,修改)

    MySQL的系統(tǒng)變量是由MySQL服務(wù)器管理的,用于控制服務(wù)器的各種行為和特性,本文主要介紹了MySQL?系統(tǒng)變量(查看,修改),感興趣的可以了解一下
    2024-08-08
  • 基于mysql實現(xiàn)group by取各分組最新一條數(shù)據(jù)

    基于mysql實現(xiàn)group by取各分組最新一條數(shù)據(jù)

    這篇文章主要介紹了基于mysql實現(xiàn)group by取各分組最新一條數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • mysql保存微信昵稱特殊字符的方法

    mysql保存微信昵稱特殊字符的方法

    我在用mysql 保存微信昵稱,當(dāng)插入昵稱數(shù)據(jù)的時候,報錯。接下來通過本文給大家介紹mysql保存微信昵稱特殊字符的方法,需要的朋友一起看看吧
    2018-06-06
  • MySQL批量更新數(shù)據(jù)的多種方法與最佳實踐

    MySQL批量更新數(shù)據(jù)的多種方法與最佳實踐

    在數(shù)據(jù)庫操作中,批量更新數(shù)據(jù)是常見的需求場景,無論是數(shù)據(jù)遷移、數(shù)據(jù)修正還是批量處理業(yè)務(wù)邏輯,本文將深入探討MySQL中批量更新數(shù)據(jù)的多種方法及其適用場景,需要的朋友可以參考下
    2026-01-01

最新評論

龙胜| 盐边县| 福清市| 崇左市| 九江市| 朝阳市| 江口县| 红桥区| 焦作市| 凤庆县| 文登市| 通州区| 枞阳县| 德江县| 丹凤县| 聊城市| 青川县| 玛多县| 黄浦区| 金门县| 息烽县| 昌都县| 石林| 霍邱县| 合川市| 阿拉善盟| 唐河县| 隆安县| 子长县| 娱乐| 汾阳市| 南平市| 芜湖市| 汝阳县| 睢宁县| 文水县| 雷波县| 成都市| 牡丹江市| 沭阳县| 怀来县|