MySql的基礎知識之select

2021-09-20 10:45:10 字數 2812 閱讀 8641

mysql的基礎知識之select

select 字段 from 表名|檢視 where 條件 order by 字段 desc|asc (|表示或,desc降序,asc公升序,不寫預設公升序)

例如 :

select * from

user

where name='張三'

order

by id; (*表示所有字段)

另:select id, name,***,phone from

user

where name='張三'

order

by id;

select distinct 字段[,字段,欄位...] from 表名; 乙個欄位就判斷乙個欄位的重複值,多個就會組合判斷,多個都重複才會認為重複;

例如:

select

distinct

name

from

user; 查出所有使用者的名字;

sql最後加 limit 起始偏移量,行數。第乙個表示從第多少條開始,第二個表示取出來多少條,如取根據使用者的建立時間,取最新的10條資料

select * from

user

order

by createtime desc

limit

1,10;

我們經常會遇見需要對字段的顯示進行處理的情況,如性別字段值1顯示男,值2顯示女。

語法為 case 字段 when 值 then '' when 值 then '' ...... else '' end as 別名 (else 可不用)

例如:

select

name ,case *** when

1then

'男'when

2then

'女'end

as s from

user ;

還有另一種情況,簡單的值判斷無法滿足需求,如年齡18以下顯示未成年,18-50顯示青年,50以上顯示老年,這時候需要表示式來進行判斷;

語法為case when 表示式 then '' when 表示式 then ''...... else '' end as 別名

例如:

select

name ,

case

when age<18

then

'未成年'

when age between

18and

50then

'青年'

when age>50

then

'老年'

end a

from

user;

表示式可以是乙個也可以是多個,如未滿18的女性顯示美少女,就是when age<18 and ***=2 then '美少女'。

if (expr1,expr2,expr3) 如果 expr1 是true (expr1 <> 0 and expr1 <> null),則 if()的返回值為expr2; 否則返回值則為 expr3。if() 的返回值為數字值或字串值,具體情況視其所在語境而定

select

if(1>2,2,3);返回3

select

if(1

<2,'yes ','no');返回yes

select

if(strcmp('test','test1'),'no','yes');返回no

strcmp(str1,str2):如果str1>str2返回1,str1=str2反回0,str1select

strcmp('text', 'text2'); 返回-1

select

strcmp('text2', 'text'); 返回1

select

strcmp('text', 'text');返回0這裡只說明一下常用的函式,如下:

判斷是否為空,如果有值返回該字段的值,為空則返回指定值,語法為ifnull(字段,'')

例如:

select

name,ifnull(age,'該使用者未填寫年齡') from

user

字串連線,資料庫中不能用+號連線字串,語法為concat(str1,str2,...)

例如:

select

concat(name,'是乙個',age,'的',case *** when

1then

'男'when

2then

'女'end ,'生')

from

user;

但是有一點需要特別說明,如果其中乙個欄位為null,則返回為null,因此,假如有某列資料可能會空的,欄位用ifnull(age,'')

對欄位進行格式化,format(x,n)函式可以將數字x進行格式化,將x保留到小數點後n位。這個過程需要進行四捨五入。例如format(2.356,2)返回的結果將會是2.36;format(2.353,2)返回的結果將會是2.35。

inet_aton(ip)函式可以將ip位址轉換為數字表示,數字比字串儲存空間少,查詢效率高,這算是一種mysql的優化;inet_ntoa(n)函式可以將數字n轉換成ip的形式。其中,inet_aton(ip)函式中ip值需要加上引號。這兩個函式互為反函式。

Mysql基礎知識之基礎查詢

所謂的常見命令是指通過mysql客戶端登入登入到mysql服務端,而後傳送對應的命令給服務端,服務端進行響應給出回饋 注意這些命令都要加上結束符號,否則無法識別,mysql的命令預設結束符號為分號。1.展示所有庫 show databases 2.進入某個庫 use my db01 3.展示該庫所有...

mysql基礎知識之索引

mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。索引其實和字典的目錄很相似,字典可以根據拼音和部首偏旁快速查詢到指定的字。對於mysql資料庫來說,索引是乙個排序的列表,在這個列表中儲存著索引的值和包含這個值的資料所在行的實體地址,在資料十分龐大的時候,...

mysql的知識 mysql基礎知識

一 啟動與退出 1 進入mysql 啟動mysql command line client mysql的dos介面 直接輸入安裝時的密碼即可。此時的提示符是 mysql 或開啟終端,輸入sql語句 mysql uroot p123 2 退出mysql quit或exit 二 庫操作 1 建立資料庫 ...