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 ...