溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫技能實戰(zhàn)進階之常用結(jié)構(gòu)化sql語句(中)

發(fā)布時間:2020-06-09 11:51:23 來源:網(wǎng)絡(luò) 閱讀:475 作者:GoDevops 欄目:數(shù)據(jù)庫

   在上篇文章中我們介紹到查詢里面關(guān)于order by對查詢結(jié)果的排序處理,接下來我們將介紹其他的一部分操作。

10、limit 限制查詢結(jié)果條數(shù)

   在mysql數(shù)據(jù)庫里面我們要想顯示前10行,或者第x行到n行之類的格式顯示,這時limit將是我們最好的選擇。

select  * from  user limit 5; #顯示前5行
1    kailinux    javadocker
2    LInuxmysql    NULL
3    python    NULL
4    LInux    redis
5    linux    0
假如我們想看倒數(shù)3行,但是limit不支持倒序,我們可以用以前的方式實現(xiàn)
select   * from  user limit 21,3;
26    redispyhon    
27    PYthon234    
28    winner1234    
從3開始顯示5條
select   * from  user limit 3,5;
4    LInux    redis
5    linux    0
6    redis    name 
7    kailinux    javadocker
8    LInux    redis

11、mysql 常用函數(shù)

 連接函數(shù)concat()

語法:CONCAT(str1,str2,...) 可以用來拼接查詢結(jié)果,

select   CONCAT(username,'*****',password) from user  #將user表的username和password列用4
個****拼接。
結(jié)果:
kailinux*****javadocker
LInuxmysql*****NULL
python*****NULL
LInux*****redis
linux*****0
用下劃線或者橫線拼接
kailinux_javadocker
LInuxmysql_NULL
python_NULL
LInux_redis
kailinux-javadocker
LInuxmysql-NULL
python-NULL

select   CONCAT(username,'',password) from user #不指定間隔直接拼接兩列
kailinuxjavadocker
LInuxmysqlNULL
pythonNULL
LInuxredis

 由此可以看出concat()函數(shù)在拼接的時候可以指定任意連接符,達到對數(shù)據(jù)查詢不同結(jié)果的顯示。

隨機函數(shù)rand()

  這種隨機函數(shù),可以在查詢結(jié)果里面隨機排序之類的處理

select   *  from user  order by rand();
5    linux    0
8    LInux    redis
15    python    javadocker
16    LInux    
2    LInuxmysql    NULL
7    kailinux    javadocker
28    winner1234    
20    centos    
17    linux    999
6    redis    name 
3    python    NULL
26    redispyhon    
22    rediswinner    
25    PYTHoREDIS    
27    PYthon234    
這種隨機數(shù)里面就可以用來抽獎之類的,我們將隨機排序的再獲取3行,
select   *  from user  order by rand() limit 3;
23    PYthonmysql    
27    PYthon234    
4    LInux    redis

統(tǒng)計列數(shù)count()

select count(*)  from user   就可以查詢出某表里面包含多少條數(shù)據(jù)等,這里挑選列時一般選擇主鍵相關(guān)的列。

select   count(*)  from user  ;
24

select count(id ) from user  ;  但是這種在數(shù)據(jù)量大時會比較慢

求和函數(shù)sum()

select   sum(id)  from user  ; #對id求和

356

求最大值max()

select   max(id)  from user  ;
28

求最小值函數(shù)()

select   min(id)  from user  ;
1

平均函數(shù)avg()

select   avg(id)  from user  ;
14.8333

分組函數(shù)group  by

select   username,count(*) from user  GROUP BY username ; #按用戶名分組,可以統(tǒng)計
出相同用戶的信息

centos    1
kailinux    3
LInux    5
LInuxmysql    1
python    2
PYthon234    1
PYTHonmysql    2
PYTHoREDIS    1
redis    3
redispyhon    1
rediswinner    1
ubuntu    1
winner1234    1
winnerredis    1

關(guān)于多表查詢的相關(guān)知識請看之前的有關(guān)mysql的文章。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI