MySQL 一般模糊查詢的幾種用法

2022-09-17 03:57:08 字數 1192 閱讀 3205

1.%:表示零個或多個字元。在某些情況下需要中文查詢,一般用兩個%來查詢,即%%;

select * from user where name like %五%;

-->表示:查詢user表中的name為 xx五xx 、五xx、xx五 的資訊;

select * user from where name like %王%五%  

-->能搜尋出 張王五  但是不能搜尋出 張五王;

2._(下劃線):表示乙個字元,類似於佔位符的作用。常用來限定符合查詢條件結果的長度;

select * from user where name like _張_;

-->結果將是只能符合 x張x 的名字。長度為3,且中間的字為 『張』。

3.[ ]:表示括號內所列字元中的乙個(類似正規表示式)。指定乙個字元、字串或範圍,要求所匹配物件為它們中的任乙個。 

比如 select * from [user] where u_name like '[張李王]三' 將找出「張三」、「李三」、「王三」(而不是「張李王三」); 

如 [ ] 內有一系列字元(01234、abcde之類的)則可略寫為「0-4」、「a-e」 

select * from [user] where u_name like '老[1-9]' 將找出「老1」、「老2」、……、「老9」; 

4.[^ ] :表示不在括號所列之內的單個字元。其取值和 相反,但它要求所匹配物件為指定字元以外的任乙個字元。 

比如 select * from [user] where u_name like '[^張李王]三' 將找出不姓「張」、「李」、「王」的「趙三」、「孫三」等; 

select * from [user] where u_name like '老[^1-4]'; 將排除「老1」到「老4」,尋找「老5」、「老6」、…… 

5.查詢內容包含萬用字元時 

由於萬用字元的緣故,導致我們查詢特殊字元「%」、「_」、「[」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。據此我們寫出以下函式: 

function sqlencode(str) str=replace(str,"';","';';") 

str=replace(str,"[","[") ';

此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function

MySQL 一般用的show命令

show databases 顯示可用的資料庫列表 use 資料庫名 使用該資料庫 show tables 顯示當前使用的資料庫的可用表名 show columns from 表名 顯示該錶的列名 show status 顯示伺服器的狀態資訊 show create database 資料庫名 顯示...

一般的查詢載入

1.查詢重寫技術 1 不要引用索引列在乙個表示式。這樣將阻止使用索引列。代替是應該在比較的邊使用盡可能的。加入乙個表t包含乙個date d列。如下 select from t where year 1884代替使用select from t where d 1994 01 01 2.索引是特別有用的...

Mysql 一般注入

一 基礎知識 1.注釋符 hash comment c style comment sql comment 後必須跟空格 00 nullbyte backtick 使用在查詢最後 2.空格被過濾 使用 或 或 代替空格 0c form feed,new page 09 horizontal tab ...