MySQL检索数据(过滤+通配符+正则表达式)
生活随笔
收集整理的這篇文章主要介紹了
MySQL检索数据(过滤+通配符+正则表达式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【0】README 0.1)本文部分文字描述轉自“MySQL 必知必會”,旨在review “MySQL的基礎知識”;
【1】檢索數據 1)檢索單個列:select a_name from table_name; 2)檢索多個列:select a_name,b_name from table_name;
3)檢索所有列:select * from table_name;
attention)一般不推薦使用 select *,除非你確實需要表中的每個列,因為檢索不需要的列通常會降低檢索和應用程序的性能; 4)檢索不同行: select distince column_name from table_name;
Attention)distinct 應用于所有列而不僅僅是前置列; 5)限制結果 5.1)select * from product limit 5: limit 5 指示 mysql 返回不多于5行;
5.2)select * from product limit 5, 5: 從行5開始的連續5行數據;
Attention) A1)行0:檢索出來的第一行是行0而不是行1,所以 limit 1,1 將檢索出第二行而不是第一行; A2)MySQL5的limit語法:limit 3,4 表示 從行3開始的4行; A3)上面的limit 3,4 容易吧人搞糊涂,一種替代語法:limit 4 offset 3;從行3開始取4行;
【2】排序檢索數據 1)order by 子句:
2)按照多個列進行排序
3)指定排序方向(默認是升序排序,為了進行降序排序,指定desc關鍵字(descend,下降)) Attention) A1)與desc相反的關鍵字時 asc(ascend,升高); A2)關鍵字 desc 只應用到其前面的列名;
4)order by 子句的位置:其 在 from 子句之后,在limit 子句之前;
【3】過濾數據 1)使用where子句:where的位置 在order by 之前; 2)where子句的操作符
3)范圍檢查:between的測試用例
Attention)不推薦在client端進行過濾,因為如果在客戶機上進行過濾數據,服務器不得不通過網絡發送多余的數據,這將導致網絡帶寬的浪費; 4)空值檢查:is null 子句
【4】過濾數據補充 1)組合where子句 1.1)and 操作符:
1.2)or 操作符:
1.3)計算次序: 請注意 and 和 or 操作符的優先級,and的優先級高于or,必要時使用括號; 2)in 操作符:in 操作符用來指定條件范圍,范圍中的每個條件都可以進行匹配;其功能和or 操作符相同;
3)not 操作符
【5】用通配符進行過濾 0)intro to 通配符 0.1)通配符:用來匹配值的一部分的特殊字符; 0.2)搜索模式:由字面值,通配符或兩者組合構成的搜索條件; 0.3)必須使用like操作符:為在搜索子句中使用通配符,必須使用like 操作符。like指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配進行比較; 1)通配符介紹 1.1)百分號(%)通配符:%表示任何字符出現任意次數;
2)下劃線通配符:下劃線只匹配單個字符而不是多個字符;
3)使用通配符的技巧(skill) s1)不要過度使用通配符; s2)在確實需要使用通配符時,除非絕對有必要,否則不要把它們用在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起來是最慢的 ;
【6】用正則表達式進行搜索 1)intro to 正則表達式:正則表達式的作用是匹配文本,將一個模式(正則表達式)與一個文本串進行比較; 2)基本字符匹配:
3)點(.)匹配任意一個字符
4)進行or 匹配
5)匹配幾個字符之一
Attention) A1)正則表達式[12]000 是 [1|2]000的縮寫; A2)字符集合也可以被否定:即,他們將匹配除指定字符外的任何東西。為否定一個字符集,在集合的開始處放置一個 ‘^’即可。
6)匹配范圍 6.1)匹配數字0到9:[0-9]; 6.2)匹配字母a到z:[a-z];
7)返回特殊字符 problem)如果我們要匹配點(.)這個字符,應該怎么寫正則表達式呢? solution)通過寫 '\\.' 進行匹配;(這是所謂的轉義字符)
8)匹配字符類
9)匹配多個實例(匹配多次出現的模式)
10)定位符 10.1)為匹配特定位置的文本,需要定位符,如下所示:
10.2)匹配以數字或點(.)為開頭的行
Attention) A1)‘^’ 字符的雙重作用:在集合中(用[]定義 ),用它來否定該集合;否則(在[]前面),用來指定串的開始處; A2)regexp 和 like 的區別: like 匹配整個串而 regexp 匹配子串; A3)利用定位符,通過^ 開始每個表達式,$ 結束每個表達式;
【1】檢索數據 1)檢索單個列:select a_name from table_name; 2)檢索多個列:select a_name,b_name from table_name;
3)檢索所有列:select * from table_name;
attention)一般不推薦使用 select *,除非你確實需要表中的每個列,因為檢索不需要的列通常會降低檢索和應用程序的性能; 4)檢索不同行: select distince column_name from table_name;
Attention)distinct 應用于所有列而不僅僅是前置列; 5)限制結果 5.1)select * from product limit 5: limit 5 指示 mysql 返回不多于5行;
5.2)select * from product limit 5, 5: 從行5開始的連續5行數據;
Attention) A1)行0:檢索出來的第一行是行0而不是行1,所以 limit 1,1 將檢索出第二行而不是第一行; A2)MySQL5的limit語法:limit 3,4 表示 從行3開始的4行; A3)上面的limit 3,4 容易吧人搞糊涂,一種替代語法:limit 4 offset 3;從行3開始取4行;
【2】排序檢索數據 1)order by 子句:
2)按照多個列進行排序
3)指定排序方向(默認是升序排序,為了進行降序排序,指定desc關鍵字(descend,下降)) Attention) A1)與desc相反的關鍵字時 asc(ascend,升高); A2)關鍵字 desc 只應用到其前面的列名;
4)order by 子句的位置:其 在 from 子句之后,在limit 子句之前;
【3】過濾數據 1)使用where子句:where的位置 在order by 之前; 2)where子句的操作符
3)范圍檢查:between的測試用例
Attention)不推薦在client端進行過濾,因為如果在客戶機上進行過濾數據,服務器不得不通過網絡發送多余的數據,這將導致網絡帶寬的浪費; 4)空值檢查:is null 子句
【4】過濾數據補充 1)組合where子句 1.1)and 操作符:
1.2)or 操作符:
1.3)計算次序: 請注意 and 和 or 操作符的優先級,and的優先級高于or,必要時使用括號; 2)in 操作符:in 操作符用來指定條件范圍,范圍中的每個條件都可以進行匹配;其功能和or 操作符相同;
3)not 操作符
【5】用通配符進行過濾 0)intro to 通配符 0.1)通配符:用來匹配值的一部分的特殊字符; 0.2)搜索模式:由字面值,通配符或兩者組合構成的搜索條件; 0.3)必須使用like操作符:為在搜索子句中使用通配符,必須使用like 操作符。like指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配進行比較; 1)通配符介紹 1.1)百分號(%)通配符:%表示任何字符出現任意次數;
2)下劃線通配符:下劃線只匹配單個字符而不是多個字符;
3)使用通配符的技巧(skill) s1)不要過度使用通配符; s2)在確實需要使用通配符時,除非絕對有必要,否則不要把它們用在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起來是最慢的 ;
【6】用正則表達式進行搜索 1)intro to 正則表達式:正則表達式的作用是匹配文本,將一個模式(正則表達式)與一個文本串進行比較; 2)基本字符匹配:
3)點(.)匹配任意一個字符
4)進行or 匹配
5)匹配幾個字符之一
Attention) A1)正則表達式[12]000 是 [1|2]000的縮寫; A2)字符集合也可以被否定:即,他們將匹配除指定字符外的任何東西。為否定一個字符集,在集合的開始處放置一個 ‘^’即可。
6)匹配范圍 6.1)匹配數字0到9:[0-9]; 6.2)匹配字母a到z:[a-z];
7)返回特殊字符 problem)如果我們要匹配點(.)這個字符,應該怎么寫正則表達式呢? solution)通過寫 '\\.' 進行匹配;(這是所謂的轉義字符)
8)匹配字符類
9)匹配多個實例(匹配多次出現的模式)
10)定位符 10.1)為匹配特定位置的文本,需要定位符,如下所示:
10.2)匹配以數字或點(.)為開頭的行
Attention) A1)‘^’ 字符的雙重作用:在集合中(用[]定義 ),用它來否定該集合;否則(在[]前面),用來指定串的開始處; A2)regexp 和 like 的區別: like 匹配整個串而 regexp 匹配子串; A3)利用定位符,通過^ 開始每個表達式,$ 結束每個表達式;
總結
以上是生活随笔為你收集整理的MySQL检索数据(过滤+通配符+正则表达式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光场相机为什么没成主流(光场相机为什么没
- 下一篇: 电脑版秘密潜入3修改器(秘密潜入怎么调中