《MySQL 8 教學–Day02–資料表》操作分享 | 學習筆記

Telegram share !

本次的教學,主要分享MySQL在建立資料庫後,開始要新增資料表及對資料表(Table)做後續一些基本操作的相關知識,本教學是以Mysql 8.0為出發的教學,當然一些通用語法Mysql 8.0之前的版本也適用喔,所以大家不用擔心,只要一起做,相信你也可以了解MySQL 中的資料表操作是怎麼一回事。

本教學的範例說明

延續Day01教學以電子商務線上購物所會用的相關資料表為基礎,後續會再做相關的延伸

資料庫名稱:rdpapashop

資料表名稱:user 會員資料表

#01-建立資料表(基本型)

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當作字元編碼

#01-建立資料表(進階型)

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的字集,一開始使用可能沒什麼問題,當你資料越來越多,你會花很多時間在做字集轉換上面。

#02-新增資料

# 插入資料
INSERT INTO users VALUES (1, 'rdpapa', '$%XJidix', 'rdpapa@gmail.com', '2020-10-08 20:19:23', '2020-10-08 20:21:38');

#03-修改資料

UPDATE users SET password = "12345" WHERE username = "rdpapa";

#04-刪除資料

# 刪除資料
DELETE FROM users WHERE username = "rdpapa";

#05-查詢資料

# 查詢資料
SELECT * FROM users;

SELECT   
          id,  username,  password,  email,  created_at,  updated_at
FROM
         users

Reference

向上滑動