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 建立資料庫 ...