是 Ray 不是 Array

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement
2019-07-15 Nodejs

這是在講關於一名叫 Koa 的全端勇士傳說-MySQL篇-基礎篇(2)

前言

前面我們已經準備好 MySQL 的部分了,接下來這邊將會使用一套資料庫管理軟體來做 MySQL 操作也就是 Navicat (導航貓)

MySQL

可以自行到官方網站下載 導航貓,安裝過程我就不附上了直接來操作。

打開 Navicat 新增一個連線

新增一個 MySQL 連線
新增一個 MySQL 連線

依照欄位輸入相關欄位

相關欄位
相關欄位

輸入完畢之後可以點一下連線測試,確保連線成功

如果出現 2003 - Can't connect to MySQL server on 'localhost'(10038) 基本上就是 XAMPP 沒有打開 MySQL,或者 MySQL IP位址輸入錯誤了

Can't connect to MySQL server on 'localhost'(10038)
Can't connect to MySQL server on 'localhost'(10038)

正常成功的話會出現連線成功

連線成功
連線成功

接下來點兩下旁邊的 localhost 名稱的灰色小圖案

灰色小圖案
灰色小圖案

當它變成綠色就是我們已經連入 MySQL 資料庫哩~

連入 MySQL
連入 MySQL

接下來我們點一下 test 這個資料庫,然後在左邊點一下新增資料表

新增資料表
新增資料表

然後資料表名稱叫 account,內容如下

account 表
account 表

這樣子資料表就新增成功哩~

基礎語法認識

接下來我們就要來認識一下基礎常用的 MySQL 語法哩~

所以這邊先切到查詢,並點一下新增查詢

新增查詢
新增查詢

建立資料表

由於後面練習會需要使用到資料表,你可以選擇手動開資料表,也可以用語法的方式來新增,如果要使用語法的話,那麼就要使用 CREATE TABLE 語法,範例如下

1
2
3
4
5
6
CREATE TABLE  '資料表名稱' (
欄位名稱1 資料類型 欄位設定選項
欄位名稱2 資料類型 欄位設定選項
...
索引 欄位
)

那麼我這邊會建立一個同學身高體重資料表,所以就這樣新增

1
2
3
4
5
6
7
CREATE TABLE testtabel (
t_id int(10) NOT NULL auto_increment,
name varchar(5) NOT NULL default '',
weight int(5) NOT NULL default 0,
height float(5) NOT NULL default 0,
PRIMARY KEY (t_id)
) AUTO_INCREMENT=1;

說明:

  • NOT NULL - 不得為空
  • auto_increment - 自動填入
  • default - 預設值
  • PRIMARY KEY - 設置索引
  • AUTO_INCREMENT - 自動遞增,並於數字 1 開始

然後將上面這些 SQL 指令貼入並執行

執行 SQL 指令
執行 SQL 指令

執行完畢後,我們回到資料表的位子,然後按一下 F5 重新整理一下畫面就可以看到剛剛新增的資料表哩~

資料表
資料表

內容也會與我們所新增的相同

資料表
資料表

當然也可以點一下資料表右鍵,設計資料表來查看是否都有與我們所撰寫的指令相同

設計資料表
設計資料表
設計資料表
設計資料表

那麼這就是一個透過 SQL 指令生成資料表的方式~

查詢資料表

首先在上面輸入 SELECT * FROM account; 並點一下上方執行看看

SELECT
SELECT

接下來下方就會跳出查詢結果 (裡面沒東西是正常的)

查詢結果
查詢結果

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 (竟然兩個同名?!)

tom
tom

那如果我希望它做身高排序由低至高呢呢?那就會使用 ORDER BY(預設是遞增排序由小至大)

1
SELECT * FROM testtabel ORDER BY height
ORDER BY
ORDER BY

當然可以混和 WHERE + ORDER BY,但是務必注意先條件查詢在排序,否則會出現錯誤

先條件查詢在排序
先條件查詢在排序

正確用法是這樣 SELECT * FROM testtabel WHERE weight >= 66 ORDER BY height;

先條件查詢在排序
先條件查詢在排序

如果希望做遞減排序(由大至小),那麼只需要這樣寫即可

1
SELECT * FROM testtabel WHERE weight >= 66 ORDER BY height DESC;
DESC
DESC

補充

其中還有其他的條件例如:

  • GROUP BY - 將特定欄位做資料群組
  • HAVING - 必須與 GROUP BY 一起使用會出現錯誤,類似 WHERE 功能,但是無法取代 WHERE,因為 HAVING 是先讀取後篩選
  • DISINCT - 查詢某個欄位裡面是否有特定的資料
  • LIMIT - 限制輸出的資料筆數

但是接下來的範例不太會講到其他的查詢條件,所以就不多作介紹囉~

除非後面有使用到,若有使用到那就會介紹一下哩

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement

你的支持會直接轉換成更多技術筆記

如果我的筆記讓你少踩一個坑、節省 Debug 的時間,
也許你可以請我喝杯咖啡,讓我繼續當個不是 Array 的 Ray ☕

buymeacoffee | line | portaly

Terminal

分享這篇文章

留言

© 2026 Ray. All rights reserved.

Powered by Ray Theme