日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

学好SQL--MySQL简单使用(3)

發(fā)布時(shí)間:2025/3/18 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学好SQL--MySQL简单使用(3) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.查

對(duì)表的查詢幾乎可以說(shuō)是增刪改查中最難也是最重要的,所以我另外拿出來(lái)寫一篇博客 A.簡(jiǎn)單查詢

select * from 表名;

還是拿昨天那張表來(lái)測(cè)試吧,插入幾條數(shù)據(jù)(批量插入方法)

insert into my_movie values (null,'閃電俠',22.34,'guoxiaoxia','2014-11-12'), (null,'蝙蝠俠',44.6,'xiaomi','2014-02-25'), (null,'疑犯追蹤',66.3,'jack','2015-03-14'), (null,'妙警賊探',102.4,'tom','2017-08;3)` 復(fù)制代碼

select * from my_movie;


> select mId,mName from my_movie
> select mId mid,mName mname from my_movie;

對(duì)比這兩張圖就可以很容易看出區(qū)別


去掉重復(fù)數(shù)據(jù)查詢,比如這里的價(jià)格,我先插入一條價(jià)格特別的數(shù)據(jù) > insert into my_movie values (null,'未來(lái)青年','44.6','oliver','2017-11-11');

先對(duì)價(jià)錢進(jìn)行查詢

select mPrice from my_movie;

select distinct(mPrice) from my_movie;


將所有的電影價(jià)格+10顯示
> select mName,mPrice+10 from my_movie;

看到?jīng)]這里所有價(jià)格都+10顯示出來(lái)了,但是這只是數(shù)據(jù)顯示而已,并沒有真的所有價(jià)格都加了10


B.條件查詢

select * from my_movie where mName = '蝙蝠俠';

select * from my_movie where mName like '%俠;

查詢電影名 名字最后一個(gè)字是 俠

select * from my_movie where mName like '%俠'

今天發(fā)生了個(gè)尷尬的事,我領(lǐng)導(dǎo)在操作數(shù)據(jù)庫(kù),突然碰到一個(gè)需要模糊查詢的要求,然后寫了 查了半天都沒弄出來(lái)(他很久沒寫代碼了 忘記了),然后問(wèn)我 我看了下,就覺得奇怪了,一個(gè)簡(jiǎn)單的模糊查詢還有什么技巧,結(jié)果我也沒看出來(lái) sql那里有問(wèn)題,最后他百度 才發(fā)現(xiàn)竟然沒有寫 % ,尷尬。。。。。

查詢主鍵是1,3,4的電影信息

select * from my_movie where mId in(1,3,4);

這里同時(shí)查詢多個(gè) 使用關(guān)鍵字 in(,,,) 如果不在表中的條件,比如這里一共只有五條數(shù)據(jù),主鍵最高是5,我要查詢主鍵為9 的數(shù)據(jù),是查不到的,如下

select * from my_movie where mId in(1,3,9);

C.排序查詢

select * from my_movie order by mPrice asc;

排序結(jié)合其他條件結(jié)合,比如 排序和模糊 結(jié)合查詢,查詢 電影名最后一個(gè)字是 俠 并對(duì)結(jié)果按價(jià)格降序排列

select * from my_movie where mName like "%俠" order by mPrice desc;

注意:這里不需要使用 and 連接兩個(gè)條件

D.聚合函數(shù) 獲得所有電影價(jià)錢的總和

select sum(mPrice) as totalPrice from my_movie;

這里可以使用 as 也可以不使用

獲取所有電影的平均價(jià)格

select avg(mPrice) from my_movie;

獲取所有商品的個(gè)數(shù)

select count(*) from my_movie;

E:分組操作 對(duì)一個(gè)表中的數(shù)據(jù)進(jìn)行分組查詢,比如這里,我添加一個(gè)分組Id字段用來(lái)對(duì)表中的數(shù)據(jù)分成兩組,mId為1 2屬于超級(jí)英雄一組,3 4 5分為非凡英雄一組,分組id為 cId

alter table my_movie add cId varchar(20);

查詢表如下

現(xiàn)在設(shè)置表中的數(shù)據(jù)

update my_movie set cId = '1';

也可以條件設(shè)置數(shù)據(jù)

update my_movie set cId = '2' where mId in(3,4,5);

好的 到這里 ,對(duì)數(shù)據(jù)已經(jīng)分組完成,現(xiàn)在可以進(jìn)行分組查詢了

首先根據(jù)cId進(jìn)行分組,分組后查詢各組電影的個(gè)數(shù)

select cId,count(*) from my_movie group by cId;

根據(jù)cId進(jìn)行分組,分組后統(tǒng)計(jì)每組商品平均價(jià)格,并且平均價(jià)格必須要大于40

select cId,avg(mPrice) as avgPrice from my_movie group by cId having avgPrice >40; select cId,avg(mPrice) from my_movie group by cId having avg(mPrice) >40;

注意: 這里是對(duì)分組后的數(shù)據(jù)進(jìn)行篩尋,所有不是用 and 而是用 having

ok 到這里 就是查詢中的簡(jiǎn)單知識(shí),復(fù)雜的查詢太復(fù)雜了 一篇寫不完

總結(jié)

以上是生活随笔為你收集整理的学好SQL--MySQL简单使用(3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。