手把手教你進(jìn)行MySQL查詢操作
大家好,我是IT共享者,人稱皮皮。今天給大家講講MySQL中的查詢操作。
前言
我們?cè)谝郧?大概學(xué)了一下如何通過(guò)命令創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表等基本操作。
但是實(shí)際上啊,至少在我的實(shí)際工作中,用到的不是太多,了解就可以。
因?yàn)槲覀兛梢酝ㄟ^(guò)一些可視化軟件,像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ù)之后。
1.右擊--> 新建數(shù)據(jù)庫(kù)
2.選擇新建數(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)建表
1.右擊表--> 新建表
2.制定表結(jié)構(gòu)
3.保存表(Ctrl+s)
設(shè)計(jì)表
在實(shí)際中,我們常常會(huì)更改表結(jié)構(gòu),也叫設(shè)計(jì)表
1.右擊表-->設(shè)計(jì)表
2.修改表
3.保存即修改
查詢
上述主要復(fù)現(xiàn)了一下如何通過(guò)可視化軟件操作數(shù)據(jù)庫(kù),確實(shí)會(huì)比直接命令方便很多很多。
但是查詢這個(gè)操作,那可視化軟件就真的無(wú)能為力了。
畢竟我們不管是封裝在后臺(tái)還是自己的軟件中。
都是要使用原生SQL的,這個(gè)是無(wú)法避免的,并且原生SQL查詢是最靈活的!!!
終于迎來(lái)了最最最重要的環(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等。
想了想,我覺(jué)得表結(jié)構(gòu)大概如下
表結(jié)構(gòu)圖
表結(jié)構(gòu)圖.xlsx
表結(jié)構(gòu)代碼
- school_test.sql
應(yīng)該通過(guò)這兩張表,基本可以把我們的sql語(yǔ)法,學(xué)的差不多,一起來(lái)看看叭。
查詢(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ù)查找出來(lái)了。
同理,還可以寫(xiě)其他條件。
查詢性別為男的(gender=男)
- SELECT * from student where gender="男";
執(zhí)行結(jié)果
這樣,就把gender=男的都查出來(lái)了。
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é)果
這樣,通過(guò)多個(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查詢。
后來(lái)又講解select *和select 列1,列2的區(qū)別。
敬往事一杯酒,自此不再回頭。
我是碼農(nóng)星期八,如果覺(jué)得還不錯(cuò),記得動(dòng)手點(diǎn)贊一下哈。感謝你的觀看。













































