--- title: 基礎 MySQL tags: 網頁組 --- # 基礎 MySQL - 前言 在認識了基礎的 PHP 後,那我們要怎麼跟資料庫連接呢?搭配 PHP 語言和資料庫語言 MySQL 來連接,MySQL 就是一個關聯型資料庫管理系統,那在本篇會教大家如何操作資料庫以及透過 MySQL 語法對資料庫進行讀取、新增、修改和刪除。 :::info 上課簡報:[網頁組教學簡報](https://docs.google.com/presentation/d/14gHPI8w3G2O7pcM3Jbil8a-jtOyFd3jg68XhR2N7ADE/edit?usp=sharing) ::: # 本節目標 - 介紹關聯式資料庫 - 如何建立資料庫 - 認識 MySQL 語法 # 什麼是資料庫 - 資料庫就是儲存資料的地方,使用者可以對資料庫中的資料進行新增、擷取、更新和刪除等操作。 - 簡而言之可視為電子化的檔案櫃 - 資料庫架構 - Database(資料庫):通常是一個專案一個 Database - 可含多張資料表 - EX. IG 系統、Line 系統 - Table(資料表):通常是一個大項目一個 Table - 含有多個欄位 - EX. 使用者、文章、留言 - Column(欄位):通常是一個屬性 - 可關聯多張表中的欄位 - EX. 姓名、電話;標題、內文;留言者、內容 # PHPMyAdmin 資料庫 - 建資料庫 1. 點擊左方**新增**選項 2. 輸入資料庫名稱 3. 選擇資料與排序 4. 點擊**建立**按鈕,完成資料庫建立  - 建資料表 1. 輸入資料表名稱、欄位數 2. 點擊**執行**按鈕,完成資料表建立  - 新增欄位 1. 新增各欄位的資訊 2. 點擊下方 " 儲存 " 按鈕,完成欄位建立  - 欄位介紹 - 名稱 - 必須是這張表中的唯一 - 類型:資料型態 - EX. int、date、text、char 等等 - 可參考 [MySQL 欄位資料型別](https://tsuozoe.pixnet.net/blog/post/21289210)、[MySQL 官網](https://dev.mysql.com/doc/refman/8.0/en/data-types.html) - 長度 - 有些必須宣告長度 EX. varchar - 空值 - 沒有勾選時,沒給數值就會出錯 - A_I:自動增量主鍵(Auto Increment) - 勾選時會自動新增數值,主要用在 id 的欄位 # CRUD MySQL 語法 - C:新增 ``` INSERT INTO table_name(欄位1, 欄位2, ...) VALUES ('值1', '值2', ...) ``` - R:讀取 - 使用 * 號來取得資料表中所有資料 ``` SELECT * FROM table_name ``` - 只取得特定欄位的值 ``` SELECT 欄位1, 欄位2, ... FROM table_name ``` - 使用 WHERE 關鍵字並搭配運算子來取出**符合條件**的值 ``` SELECT * FROM table_name WHERE 值 運算子 ``` - 如果查詢條件是字串值的話,要用單引號 ' ' 包住,否則會出現錯誤 ``` SELECT * FROM table_name WHERE name = '小欣' ``` - U:修改:**WHERE** 關鍵字記得要加歐!不然全部的資料都會被修改 ``` UPDATE table_name SET 欄位1=值1, 欄位2=值2, ... WHERE 欄位=值 ``` - D:刪除:**WHERE** 關鍵字記的要加歐!不然全部的資料都會刪除 ``` DELETE FROM table_name WHERE 欄位=值 ``` # 更多 MySQL 語法 除了以下的語法外,還有很多種的語法,更多詳細用法可以前往 [w3schools](https://www.w3schools.com/mySQl/default.asp)查看如何使用。 - WHERE:為判斷對象、判斷方式、判斷內容等等 - 判斷方式:>、<、>=、<=、=、!=、<> ``` SELECT * FROM guestbook WHERE id=5 ``` - 可以使用 AND、OR、NOT 做多筆條件 ``` SELECT * FROM weight WHERE min>50 AND max<100 SELECT * FROM guestbook WHERE name="小欣" OR name="阿欣" SELECT * FROM guestbook WHERE NOT name="小欣" ``` - ORDER BY:對資料進行排序 - ASC(預設值,升序)/ DESC(降序) ``` SELECT * FROM guestbook ORDER BY name DESC ``` - LIMIT:限制返回的筆數 ``` SELECT * FROM table_name LIMIT 起始資料段, 提取資料的數量 SELECT * FROM table_name LIMIT 2,4 # 只提取第3條到第6條資料 ``` ## 參考資料 :::info [MySQL 基本觀念指令操作](https://summer10920.github.io/2020/05-13/mysql-baseclass-1/) ::: --- 大家知道 MySQL 怎麼運用後,[下一篇](https://hackmd.io/_fofujJPRguiYCAGaMFERA)希望大家能夠運用 PHP + MySQL,做出一個簡單的留言板網頁。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up