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

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

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

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

保存表(
Ctrl+s)

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

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

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

where條件查詢
但是有時候,我們可能需要查詢帶有一些條件的,比如id=1的,或者name=張三的等。
這時候就需要用到where。
sql
-- 語法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多個條件查詢(and)
假設(shè)現(xiàn)在表內(nèi)容如下。

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

這樣,通過多個條件就卡住了更精準(zhǔn)的數(shù)據(jù)。
select 選擇列
在上面使用時,我們使用的都是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ù)庫,新建表,設(shè)計表等簡單操作。
后續(xù)又根據(jù)實際需求設(shè)計出簡單的學(xué)生表和班級表,并且簡單是使用了select查詢。
后來又講解select *和select 列1,列2的區(qū)別。
如果在操作過程中有任何問題,記得下面留言,我們看到會第一時間解決問題。
敬往事一杯酒,自此不再回頭。
我是碼農(nóng)星期八,如果覺得還不錯,記得動手點贊一下哈。感謝你的觀看。
如果在操作過程中有任何問題,記得下面留言,我們看到會第一時間解決問題。
看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多的人
IT共享之家
入群請在微信后臺回復(fù)【入群】
------------------- End -------------------
往期精彩文章推薦:
