手把手教你進(jìn)行Mysql查詢操作
點(diǎn)擊上方“IT共享之家”,進(jìn)行關(guān)注
回復(fù)“資料”可獲贈(zèng)Python學(xué)習(xí)福利
大家好,我是IT共享者,人稱皮皮。今天給大家講講MySQL中的查詢操作。
前言
我們?cè)谝郧?大概學(xué)了一下如何通過命令創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表等基本操作。
但是實(shí)際上啊,至少在我的實(shí)際工作中,用到的不是太多,了解就可以。
因?yàn)槲覀兛梢酝ㄟ^一些可視化軟件,像Navicat for MySQL等。
可以很方便的幫助我們創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表,修改表等操作。
Navicat for MySQL簡(jiǎn)單示例
創(chuàng)建數(shù)據(jù)庫(kù)
使用Navicat for MySQL連接好一個(gè)Mysql服務(wù)之后。
右擊--> 新建數(shù)據(jù)庫(kù)

選擇新建數(shù)據(jù)庫(kù)信息
字符集一定要選擇
utf8mb4 -- UTF-8 Unicode,這個(gè)表示支持存儲(chǔ)Emoji表情。排序規(guī)則一定要選擇
utf8mb4_general_ci。至于為什么,我也不知道...,原諒我是個(gè)碼農(nóng)吧。

就這樣,一個(gè)數(shù)據(jù)庫(kù)創(chuàng)建完成了,是不是很輕松。
創(chuàng)建表
右擊表--> 新建表

制定表結(jié)構(gòu)

保存表(
Ctrl+s)

設(shè)計(jì)表
在實(shí)際中,我們常常會(huì)更改表結(jié)構(gòu),也叫設(shè)計(jì)表
右擊表-->設(shè)計(jì)表
修改表

3.保存即修改
查詢
上述主要復(fù)現(xiàn)了一下如何通過可視化軟件操作數(shù)據(jù)庫(kù),確實(shí)會(huì)比直接命令方便很多很多。
但是查詢這個(gè)操作,那可視化軟件就真的無能為力了。
畢竟我們不管是封裝在后臺(tái)還是自己的軟件中。
都是要使用原生SQL的,這個(gè)是無法避免的,并且原生SQL查詢是最靈活的?。?!
終于迎來了最最最重要的環(huán)節(jié),學(xué)習(xí)原生sql。
需求分析
假設(shè)我們現(xiàn)在要做一個(gè)學(xué)生管理系統(tǒng),所以首先確定,會(huì)有一個(gè)學(xué)生表,用于存放學(xué)生的信息,像姓名了,年齡了,性別了,等。
然后想了又想,學(xué)生肯定要屬于哪個(gè)班級(jí)的,張三是一班的,李四是二班的,等。
所以我們可能就會(huì)有兩張表了,一個(gè)是學(xué)生信息表,一個(gè)是班級(jí)表,然后學(xué)生屬于哪個(gè)班級(jí)。
就像小時(shí)候戴的學(xué)生胸牌一樣,姓名:xxx,班級(jí):xxx等。
想了想,我覺得表結(jié)構(gòu)大概如下
表結(jié)構(gòu)圖
表結(jié)構(gòu)圖.xlsx

表結(jié)構(gòu)代碼
school_test.sql應(yīng)該通過這兩張表,基本可以把我們的sql語(yǔ)法,學(xué)的差不多,一起來看看叭。
查詢(select)
既然表里面有這么多數(shù)據(jù),那就需要查詢了,首先是。
查詢所有
sql
-- 語(yǔ)法SELECT * from <表名>;-- 例如,查詢學(xué)生表SELECT * from student;
執(zhí)行結(jié)果

where條件查詢
但是有時(shí)候,我們可能需要查詢帶有一些條件的,比如id=1的,或者name=張三的等。
這時(shí)候就需要用到where。
sql
-- 語(yǔ)法SELECT * from <表名> where <條件>;-- 例如,查詢id=1的數(shù)據(jù)SELECT * from student where id=1;
執(zhí)行結(jié)果

這樣,我們就把id=1的數(shù)據(jù)查找出來了。
同理,還可以寫其他條件。
查詢性別為男的(gender=男)
SELECT * from student where gender="男";執(zhí)行結(jié)果

這樣,就把gender=男的都查出來了。
where多個(gè)條件查詢(and)
假設(shè)現(xiàn)在表內(nèi)容如下。

有倆琪琪,一個(gè)是男琪琪,一個(gè)是女琪琪,那我們查的時(shí)候,肯定要區(qū)分是男的還是女的琪琪了。
所以這時(shí)候需要where多個(gè)條件了。
and的意思是查詢滿足所有條件的數(shù)據(jù)。
sql
-- 語(yǔ)法SELECT * from student where <條件> and <條件> ...;-- 例如,查詢男琪琪SELECT * from student where name="琪琪" and gender="男";
執(zhí)行結(jié)果

這樣,通過多個(gè)條件就卡住了更精準(zhǔn)的數(shù)據(jù)。
select 選擇列
在上面使用時(shí),我們使用的都是select * from <表名>。
假設(shè)我們的數(shù)據(jù)如下

select *就表示,選擇所有列

結(jié)果如下

如果是select id,name age,表示選擇指定列

結(jié)果如下

select還能給列起別名
例如
SELECT id,name as "姓名",age from student;執(zhí)行結(jié)果

總結(jié)
本章主要講述了如何使用Navicat for MySQL新建數(shù)據(jù)庫(kù),新建表,設(shè)計(jì)表等簡(jiǎn)單操作。
后續(xù)又根據(jù)實(shí)際需求設(shè)計(jì)出簡(jiǎn)單的學(xué)生表和班級(jí)表,并且簡(jiǎn)單是使用了select查詢。
后來又講解select *和select 列1,列2的區(qū)別。
如果在操作過程中有任何問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。
敬往事一杯酒,自此不再回頭。
我是碼農(nóng)星期八,如果覺得還不錯(cuò),記得動(dòng)手點(diǎn)贊一下哈。感謝你的觀看。
如果在操作過程中有任何問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。
看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多的人
IT共享之家
入群請(qǐng)?jiān)谖⑿藕笈_(tái)回復(fù)【入群】
------------------- End -------------------
往期精彩文章推薦:
