iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
AI & Data

作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學系列 第 2

第二日:看懂資料庫和資料表,創建第一筆資料

昨天安裝完資料庫管理軟體MySQL後,
可以開始學語法了!
等等!!!有些概念要先了解,才會知道自己在寫什麼,
和寫作文前要先會寫國字、了解詞彙、了解題目的意思才能開始寫一樣,
接下來會以概念解說--操作--講解語法的方式來介紹基礎的SQL指令。

第二日: 看懂資料庫和資料表,創建第一筆資料

  • 資料-data

  • 資料庫-schema

  • 資料表-table

  • 資料欄位-column

如果資料庫像是一個文件櫃,資料表就是文件櫃的資料夾,
資料是放在資料夾裡面一張張的紙,資料欄位是紙裡面的固定格式。

這樣解釋是不是比較有感覺?

資料欄位的概念比較抽象一點,再舉一些例子:
醫院病歷要求病人填基本資料表,上面有[姓名]、[性別]、[電話]等資料欄位,
餐廳滿意度調查資料表,會要求客人填寫[最好吃的菜色]、[推薦的服務人員],
上面的每一個[],都是一個資料欄位。

再舉一個例子:

補習班的資料庫有學生資料表、老師資料表、課程資料表,
學生資料表有[姓名]、[性別]、[電話]、[分數]等等資料欄位,
課程資料表有[課名]、[費用]、[堂數]等等資料欄位。

接下來就會用大家比較熟的補習班來建資料當作練習範例。
現在資料庫schema、資料表table、資料欄位column很清楚了,
可以先來試試看創建第一筆資料!

之後會再解釋這些語法
之後會再解釋這些語法
之後會再解釋這些語法

WorkBench介紹:

工欲善其事,必先利其器,先大概認識一下WorkBench的圖示

A 按A會跳出一個QUERY1視窗,之後語法都是寫在QUERY裡面(C的位置)
B 按Schemas, Navigator會顯示有幾個資料庫,再點進去Tables可以看到資料庫裏面的資料表
C 填寫語法的位置
D 執行,會執行整個視窗裡面的語法,如果用滑鼠反白,就只會執行反白的部分
E 重新整理,按了才會看到最新的東西
F 粗體字代表education是你正在使用的資料庫

看不懂沒關係,直接實作看看,以下圖A代表圖中A的位置,以此類推。

  • 創建Education資料庫

我們先培養一點感覺(什麼東西)。
打開WorkBench,按圖A新增查詢,把以下語法貼到圖C,
按圖D的閃電執行,在圖最下方Output的地方會有執行結果,
綠色勾勾是成功,紅色叉叉是失敗,失敗會大概描述一下原因,
但真的只是大概,不要期望太多。

CREATE SCHEMA Education ;

出現成功以後,
左邊應該還是沒有東西,
因為要先按圖B把視窗切到SCHEMAS,
按E重新整理,
剛剛創的資料庫就會出現了!

接下來依序貼上,然後按執行:

  • 創建學生資料表 student (同時定義資料欄位)

記得先點圖F,代表你要在education資料庫執行這段語法,
沒有點的話就會看到紅色叉叉了!


CREATE Table student(
id      	int              AUTO_INCREMENT,
birth_date  DATE             NOT NULL,	
full_name  	NVARCHAR(50)     NOT NULL,
gender      NVARCHAR(50)     NOT NULL,
class       NVARCHAR(100),			
start_date  DATE            NOT NULL,	
PRIMARY KEY (id)
) ;

  • 加入學生資料

INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1998/08/01', 'Jay', 'M', '2019/02/24');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1992/04/23', 'Kelly', 'F', '2019/04/05');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1996/05/24', 'May', 'F', '2019/06/18');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2001/07/03', 'Steven', 'M', '2019/07/18');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1996/12/01', 'Elsa', 'F', '2019/07/24');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1994/05/16', 'Betty', 'F', '2019/08/02');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1997/08/04', 'Anna', 'F', '2019/08/15');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2005/06/16', 'Leo', 'M', '2019/08/20');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2003/11/22', 'Eric', 'M', '2019/08/30');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2004/11/04', 'Marcus', 'M', '2020/01/24');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1999/03/20', 'Alice', 'F', '2020/03/20');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1994/09/13', 'Sam', 'M', '2020/04/12');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1984/05/20', 'David', 'M', '2020/05/13');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2010/04/20', 'Jason', 'M', '2020/07/02');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('2008/10/12', 'Nina', 'F', '2020/08/22');


  • 檢視學生資料表的資料

SELECT * FROM student;
  • 結束這回合

現在我們有一個教育資料庫,裡面有一張學生資料表,裡面有六欄資料欄位,十五筆資料。
如果你的畫面也長這樣,那可以把資料庫關掉去睡覺了XD


上一篇
第一日:很囉唆的前言與很多的下一步:MySQL安裝
下一篇
第三日: CRUD初體驗,操作MySQL資料庫
系列文
作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言