本次的教學,主要分享MySQL在建立資料庫後,開始要新增資料表及對資料表(Table)做後續一些基本操作的相關知識,本教學是以Mysql 8.0為出發的教學,當然一些通用語法Mysql 8.0之前的版本也適用喔,所以大家不用擔心,只要一起做,相信你也可以了解MySQL 中的資料表操作是怎麼一回事。
Table of Contents
本教學的範例說明
延續Day01教學以電子商務線上購物所會用的相關資料表為基礎,後續會再做相關的延伸
資料庫名稱:rdpapashop
資料表名稱:user 會員資料表
建立資料表(基本型)
use `rdpapashop`; CREATE TABLE users ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(255) DEFAULT NULL, password varchar(255) DEFAULT NULL, email varchar(255) DEFAULT NULL, created_at timestamp NULL DEFAULT current_timestamp(), updated_at timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(), PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
語法解析
use使用資料庫: use <資料庫名稱>;
CREATE TABLE 資料表名稱 (
column1 datatype,
column2 datatype,
column3 datatype,
….
);
PRIMARY KEY (id) USING BTREE =>指定欄位id為主索引鍵,使用BTREE建立資料庫索引。
ENGINE=InnoDB 使用預設的資料庫引擎InnoDB
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 使用utf8mb4當作字元編碼
建立資料表(進階型)
use `rdpapashop`; DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `created_at` timestamp(0) NULL DEFAULT current_timestamp(0), `updated_at` timestamp(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0), PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
RDPAPA tip
建議在剛建立資料表的時候就要把CHARACTER與COLLATE設定好,要不然大部分MySQL資料庫,如果你不指定對應的設定,那他預設是使用latin1的字集,一開始使用可能沒什麼問題,當你資料越來越多,你會花很多時間在做字集轉換上面。
新增資料
# 插入資料 INSERT INTO users VALUES (1, ‘rdpapa’, ‘$%XJidix’, ‘[email protected]’, ‘2020-10-08 20:19:23’, ‘2020-10-08 20:21:38’);
修改資料
UPDATE users SET password = “12345” WHERE username = “rdpapa”;
刪除資料
# 刪除資料 DELETE FROM users WHERE username = “rdpapa”;
查詢資料
# 查詢資料
SELECT * FROM users;
SELECT
id, username, password, email, created_at, updated_at
FROM
users
資料庫語法重點整理
key1:連線到資料庫 => show databases; key2:建立資料庫 CREATE DATABASE `資料庫名`; =>CREATE DATABASE `rdpapashop`; key3:查詢目前有那些資料庫 =>show databases; key4:查詢目前預設的資料庫 =>SELECT DATABASE(); key5:使用資料庫 USE `資料庫名`; =>use `rdpapashop`; key6:刪除資料庫 DROP DATABASE 資料庫名; =>DROP DATABASE `rdpapashop`; key7:顯示目前資料庫支持的CHARACTER SET; =>SHOW CHARACTER SET; key8:顯示目前資料庫支持的COLLATION; =>SHOW COLLATION; key9:顯示目前資料庫資料庫版本; =>select version(); key10:顯示目前登入使用者; => select user(); key11:顯示目前資料庫支援的儲存引擎; => show engines;
Reference
- MySQL 8.0 Reference Manual Data Types
- MySQL 8.0 Reference Manual Storage-Engine
- MySQL 8.0 Reference Manual Row-Format
- MySQL 8.0 Reference Manual CREATE TABLE Statement
- MySQL 8.0 Reference Manual INSERT Statement
- MySQL 8.0 Reference Manual UPDATE Statement
- MySQL 8.0 Reference Manual DELETE Statement
- MySQL 8.0 Reference Manual SELECT Statement

你好,我是RD爸,希望透過我的紀錄,可以帶給你一些新的想法~ 專注於各式3C產品的開箱評測、程式相關技術及理財筆記。
email ►[email protected]

