MySQL學習 SELECT用法

2021-09-25 09:56:14 字數 2102 閱讀 6577

select語句是用來檢索資料庫的,是最常用的語句之一。

一、普通檢索

select column_name1,column_name2,...,column_namen from table_name: 最基本的檢索單個列,此時輸出的資料是未排序的;

select * from table_name: 用*萬用字元檢索所有的列;

select distinct colum_name from table_name: 可用來檢索出指定列的數值不同的行,最好不要多列一起使用,這樣除非檢索的所有列的所有行的數值都不一樣,否則將會以不同行數最多的那個列的行數來顯示,如

二、限制顯示行數及排序顯示

select column_name1,...,column_namen from table_name limit num: 用來限制顯示的行數,不多於num行。

select column_name1,...,column_namen from table_name limit num1,num2: 用來限制顯示的行數,從num1開始往後顯示num2行,從mysql5開始也可以用 num2 offset num1來實現同樣的功能。

select column_name1,...,column_namen from table_name order by column_name1,...,column_namen: 按照公升序,按照從column_name1開始到column_namen的順序依次進行排序。若column_name1中所有的值都是不同的,則後續的排序不會進行。

select column_name1,...,column_namen from table_name order by column_name1 desc, column_name2,..., column_namen: 按照column_name1降序,其他公升序的情況進行排序。若column_name1中所有的值都是不同的,則後續的排序不會進行。desc只對其前面第乙個表起作用,所以要全部按照降序排列必須一一標識。可以用limit 1和order by配合使用查詢某列最大值或最小值。

三、過濾資料(mysql中的匹配預設不分大小寫)

1)對確定的資料進行過濾

select column_name1,...,column_namen from table_name where condition: 按照condition的條件進行檢索。where子句可用各項常規的操作符,如》,

2)用萬用字元匹配不確定資料

使用萬用字元的基本語法是where a like b,其中b包含萬用字元。

萬用字元種類:%——匹配0或多個字元;_——匹配單個字元。運用萬用字元的時候要注意尾端空格,如搜尋' %a'時,遇到'cba '則不會返回,因為尾空格也算乙個字元。此外要注意萬用字元運算速度往往比其他操作符慢,除非有必要,否則能用其他操作符完成的檢索少用萬用字元。

3)正規表示式一統天下

正規表示式使用的語法是where a regexp b, 其中b是正規表示式。

regexp與like的區別在於前者只匹配部分字段,而後者需要匹配所有字段。比如有where a regexp '100'和where a like '100',而a中只有1000這乙個資料,那麼前者會返回這個資料,而後者不會,因為正規表示式匹配了1000。

正規表示式常用字元:.——匹配任一字元,數量0或多個;|——用來分割多個匹配條件,類似or的作用;[ ]——匹配一定範圍內的條件,如[0-9]為匹配所有數字,[123] == [1|2|3];^——用在中括號內表示否定,類似not,用在正規表示式開頭表示從欄位初始位置開始匹配;\\——用來轉義特殊字元,如在正規表示式中用了\\.就單純地表示.;*——0個或多個重複匹配;+——1個或多個重複匹配;——0個或1個重複匹配;——指定數目的重複匹配次數;$——表示字段結尾。

SELECT 語句 MySQL檢索常見用法

學習 from 子句 select column from list name column 為所檢索列的名字,list name 為列所在的表select column1,column2,column3 from list name column1,column2 為所檢索列的名字萬用字元 可用於...

mysql的select語句中in的用法是什麼

在mysql中,select語句內in常用於where表示式中,其作用是查詢某個範圍內的資料,in查詢的範圍資料並不一定是明確的,可能會包含子查詢語句,語法為 select from where.in 範圍資料或者子查詢語句 本教程操作環境 windows10系統 mysql8.0.22版本 del...

select函式用法

原型 int select intnfds fd set readfds fd set writefds fd set exceptfds const struct timeval timeout nfds 本引數忽略,僅起到相容作用。readfds 可選 指標,指向一組等待可讀性檢查的套介面。wr...