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

Telegram share !

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

本教學的範例說明

延續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