這是在講關於一名叫 Koa 的全端勇士傳說-MySQL篇-基礎篇(2)
前言
前面我們已經準備好 MySQL 的部分了,接下來這邊將會使用一套資料庫管理軟體來做 MySQL 操作也就是 Navicat (導航貓)
MySQL
可以自行到官方網站下載 導航貓,安裝過程我就不附上了直接來操作。
打開 Navicat 新增一個連線
依照欄位輸入相關欄位
輸入完畢之後可以點一下連線測試,確保連線成功
如果出現 2003 - Can't connect to MySQL server on 'localhost'(10038)
基本上就是 XAMPP 沒有打開 MySQL,或者 MySQL IP位址輸入錯誤了
正常成功的話會出現連線成功
接下來點兩下旁邊的 localhost 名稱的灰色小圖案
當它變成綠色就是我們已經連入 MySQL 資料庫哩~
接下來我們點一下 test
這個資料庫,然後在左邊點一下新增資料表
然後資料表名稱叫 account,內容如下
這樣子資料表就新增成功哩~
基礎語法認識
接下來我們就要來認識一下基礎常用的 MySQL 語法哩~
所以這邊先切到查詢,並點一下新增查詢
建立資料表
由於後面練習會需要使用到資料表,你可以選擇手動開資料表,也可以用語法的方式來新增,如果要使用語法的話,那麼就要使用 CREATE TABLE 語法,範例如下
1 | CREATE TABLE '資料表名稱' ( |
那麼我這邊會建立一個同學身高體重資料表,所以就這樣新增
1 | CREATE TABLE testtabel ( |
說明:
- NOT NULL - 不得為空
- auto_increment - 自動填入
- default - 預設值
- PRIMARY KEY - 設置索引
- AUTO_INCREMENT - 自動遞增,並於數字 1 開始
然後將上面這些 SQL 指令貼入並執行
執行完畢後,我們回到資料表的位子,然後按一下 F5 重新整理一下畫面就可以看到剛剛新增的資料表哩~
內容也會與我們所新增的相同
當然也可以點一下資料表右鍵,設計資料表來查看是否都有與我們所撰寫的指令相同
那麼這就是一個透過 SQL 指令生成資料表的方式~
查詢資料表
首先在上面輸入 SELECT * FROM account;
並點一下上方執行看看
接下來下方就會跳出查詢結果 (裡面沒東西是正常的)
WHERE
讓我們回頭講一下語法吧~
SELECT
是最 SQL 指令中最常被使用的語法,那 SELECT * FROM account
的意思是再說查詢表中所有資料,那麼如果要指定特定欄位查詢呢?那麼就會搭配使用 WHERE
,完整語法就像這樣子 SELECT * FROM account WHERE aid = 1;
意思就是指查詢 account 資料表中 aid 欄位等於 1 的(由於資料表內沒資料,所以我塞入一下資料),那麼就會得到這個結果
當然也可以加入 <=
OR >=
等符號,所以另外做一下測試針對 testtabel
資料表來做一下查詢的動作,假設我今天要找體重大於 66 的人,那麼就這樣輸入查詢指令
1 | SELECT * FROM testtabel WHERE weight <= 66; |
那麼就會找到 tom、Tom (竟然兩個同名?!)
那如果我希望它做身高排序由低至高呢呢?那就會使用 ORDER BY
(預設是遞增排序由小至大)
1 | SELECT * FROM testtabel ORDER BY height |
當然可以混和 WHERE + ORDER BY,但是務必注意先條件查詢在排序,否則會出現錯誤
正確用法是這樣 SELECT * FROM testtabel WHERE weight >= 66 ORDER BY height;
如果希望做遞減排序(由大至小),那麼只需要這樣寫即可
1 | SELECT * FROM testtabel WHERE weight >= 66 ORDER BY height DESC; |
補充
其中還有其他的條件例如:
GROUP BY
- 將特定欄位做資料群組HAVING
- 必須與GROUP BY
一起使用會出現錯誤,類似WHERE
功能,但是無法取代WHERE
,因為HAVING
是先讀取後篩選DISINCT
- 查詢某個欄位裡面是否有特定的資料LIMIT
- 限制輸出的資料筆數
但是接下來的範例不太會講到其他的查詢條件,所以就不多作介紹囉~
除非後面有使用到,若有使用到那就會介紹一下哩