MariaDB 資料庫介紹

 


前言

由於我們的開發環境使用 Xampp , 而Xampp預設的資料庫已經由Mysql更改為MariaDB , 兩者非常的相識 , 所以各位不用太擔心 , 而這章節我們將教大家如何操作資料庫 , 以及使用PHP串聯資料庫, 讓我們開始吧 ~

如何操作資料庫

本章節的開發環境使用 Xampp ,如果還沒安裝Xampp 可以看這篇 Xampp安裝教學

開啟phpMyAdmin

步驟一

首先我們先使用Xampp啟動Apache與資料庫


步驟二

在網址打上 http://127.0.0.1/phpmyadmin/

畫面如下

資料庫簡易的操作

資料庫是儲存資料的地方 , 例如儲存會員的帳號密碼, 個人的資料等等...

一個資料庫系統中可以有多個資料庫(db) , 一個資料庫(db)可以有很多個資料表(table)

因為資料庫應用實在太多了 , 以下我們將介紹較簡單的入門技巧 , 請見諒


創建資料庫(DB)

操作資料表(Table)

接下來的範例 , 我們來設計一個簡易的會員 + 文章的資料表

因為要熟悉指令所以我們以指令的方式進行操作

(create)創建資料表

語法 : CREATE TABLE 資料庫名.資料表名 (欄位名 資料型態);

先創建兩個table來儲存資料 , members來存會員 , articles來存會員寫的文章

創建會員表

CREATE TABLE members ( #創建會員表 , 命名規則會加上s , 因為裡面有很多個會員
	id INT NOT NULL AUTO_INCREMENT, #會員ID ,就像每個人都有身分證字號 , 新增資料的時候資料庫會自動生成(AUTO_INCREMENT)
	name VARCHAR(50) NOT NULL , #會員姓名 最多50個字 ,且不可為空值(NOT NULL)
	PRIMARY KEY (id) # 設定 id 為唯一值 , 就像身分證字號不會重複一樣
)

創建文章表

CREATE TABLE articles ( #創建文章表
	id INT NOT NULL AUTO_INCREMENT, #文章ID , INT表示為數字
	member_id INT NOT NULL, #會員(members)的ID , 這樣才能知道這篇文章是誰寫的
	title VARCHAR(100) NOT NULL , #文章標題 VARCHAR表示為字串(最多100個字) ,且不可為空值(NOT NULL)
	content text NOT NULL , #文章內容 ,text型態可以容納更多字元(65,535 bytes的字元) ,且不可為空值(NOT NULL)
	PRIMARY KEY (id) # 設定 id 為唯一值 , 就像身分證字號不會重複一樣
)

(insert)新增資料

語法 : INSERT INTO 資料庫名.資料表名 (欄位名) VALUES (資料);

接下來我們來新增 幾個會員 和 幾篇文章

新增會員資料

INSERT INTO members (name) VALUES #新增名稱為mark跟andy兩個會員
('mark'),
('andy'); 

新增文章資料

INSERT INTO articles (member_id,title,content) VALUES 
(1,'狗狗','狗狗喜歡玩球'),
(1,'貓咪','貓咪喜歡吃魚'),
(2,'牛牛','牛牛喜歡吃草');

說明 : member_id要對照到members的id , 依照範例mark的 id 是 1 , andy的id 是 2



(update)更新資料

語法 : UPDATE 資料表名 SET 欄位名 = 想更新的資料 WHERE 條件

UPDATE articles SET title='狗勾',content='狗勾喜歡吃骨頭' WHERE id = 1; 

WHERE id = 1  說明 :更改 id 等於 1 的那行資料,如果沒有WHERE會更新所有的資料,需要特別小心使用


(select)查詢資料

語法 : SELECT  欄位 FROM 資料表 WHERE  特定欄位 = 數字 ;

查詢所有文章

SELECT * FROM articles

說明 :  * 號代表印出所有欄位 , 通常建議不要使用 * 號 , 會拖延時間 , 列出想要的欄位就好了

結果圖 : 

雖然成功印出資料了 , 但是有一個問題就是我們根本不知道member_id是誰呀 , 所以我們必須要加入會員的表 , 讓資料看起來更完整

JOIN查詢

SELECT a.title,a.content,m.name
FROM articles AS a
JOIN members AS m ON a.member_id = m.id

重點說明:

As 後面代表取的名子(把articles取名為 a , members 取名為 m)

a.title 代表 articles 裡面的 title欄位

JOIN 會員表 ON 文章的member_id欄位 等於 會員的id

結果如下 : 文章標題 、文章內容、會員名稱 , 是不是更完整了呢 ~

查詢語句的執行順序如下(順序不對會造成錯誤)

1、FROM 

2、WHERE:指定條件

3、GROUP BY:欄位內的資料若有不只一筆名稱相同的資料的話,就會把它們作為群組

4、ORDER BY:把資料做排序 , 語法 : ORDER BY "欄位名" [ASC, DESC];  (ASC 小至大排列 , DESC 大至小排列)

5、LIMIT  : 限制筆數 , 語法 : ( limit 數字 ) , ( limit 第幾行開始 , 總共幾行 )

以上幾點也都很重要 , 但更詳細的用法先不贅述 , 敬請見諒.....


(delete)刪除資料

語法 : DELETE FROM 資料表名稱 WHERE 條件;

DELETE FROM articles WHERE id = 3;


資料庫管理工具 - HeidiSQL

由於網頁版的phpmyadmin個人覺得實在是不太好用

所以這邊我們推薦了一款免費的資料庫管理工具HeidiSQL , 功能跟phpmyadmin差不多 , 只是個人覺得比較人性化一點~

下載網址

https://www.heidisql.com/download.php?download=installer

下載成功後 打開HeidiSQL , 會看到視窗

填寫好資料後 , 成功進入畫面

查看資料表 ( 我們剛剛建的文章table)


以上就是 資料庫的入門技巧 , 當然還有很多這邊沒講到的 , 後續會再補齊 ,

那請大家先練習嚕~~~

留言

這個網誌中的熱門文章

網頁入門教材目錄

什麼是HTML?

網頁是怎麼運作的呢?