萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 建立與刪除資料庫完整實戰教學

資料庫的建立與刪除是 MySQL 管理的基礎操作。本文從基本指令、字元集指定、切換資料庫、建表刪表到完整腳本範例,提供一站式實戰教學,適合初學者快速上手與工程師查閱參考。

一、核心指令速查表

操作指令說明
建立資料庫CREATE DATABASE <db_name>;基本建立
建立資料庫(指定字元集)CREATE DATABASE <db_name> DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;建議生產環境使用 utf8mb4
刪除資料庫DROP DATABASE <db_name>;永久刪除,不可恢復
刪除資料庫(安全)DROP DATABASE IF EXISTS <db_name>;不存在不報錯
切換資料庫USE <db_name>;設定當前預設資料庫
查看所有資料庫SHOW DATABASES;列出所有資料庫

二、完整操作實戰流程

1. 基本建立與刪除

mysql> CREATE DATABASE myDatabase;
Query OK, 1 row affected (0.03 sec)

mysql> DROP DATABASE myDatabase;
Query OK, 0 rows affected (0.01 sec)

2. 指定字元集與排序規則(推薦生產環境)

CREATE DATABASE myDatabase 
  DEFAULT CHARACTER SET utf8mb4 
  COLLATE utf8mb4_unicode_ci;

說明: utf8mb4 支援完整 Unicode(含 Emoji),utf8mb4_unicode_ci 排序準確;舊版 utf8 僅支援 3 位元組字符,utf8_general_ci 排序較快但不準確。

3. 切換資料庫並建表/刪表

mysql> CREATE DATABASE myDatabase;
Query OK, 1 row affected (0.02 sec)

mysql> USE myDatabase;
Database changed

mysql> CREATE TABLE myTable (
    ->   c1 CHAR(10)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> DROP TABLE myTable;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP DATABASE myDatabase;
Query OK, 0 rows affected (0.00 sec)

4. 一次性完整腳本範例(可直接存為 .sql 執行)

-- 建立資料庫(指定字元集)
CREATE DATABASE IF NOT EXISTS `myDatabase` 
  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 切換資料庫
USE `myDatabase`;

-- 建立範例表
CREATE TABLE `myTable` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `name` VARCHAR(50) NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 清理環境(測試用)
DROP TABLE IF EXISTS `myTable`;
DROP DATABASE IF EXISTS `myDatabase`;

三、跨平台注意事項

Unix/Linux: 資料庫與表名稱區分大小寫(視檔案系統而定,通常區分)。
Windows: 不區分大小寫(檔案系統不區分)。

建議統一使用小寫名稱,避免跨平台遷移問題。

四、常見問題 FAQ

Q: CREATE DATABASE 報錯 ERROR 1007 (HY000): Can't create database 'xxx'; database exists
A: 資料庫已存在。使用 CREATE DATABASE IF NOT EXISTS xxx; 或先 DROP DATABASE xxx;。
Q: DROP DATABASE 後 SHOW DATABASES 仍顯示?
A: 可能是權限視圖延遲,或有其他同名資料庫(大小寫不同)。執行 FLUSH PRIVILEGES; 並重新登入確認。
Q: 如何備份後再刪除?
A: mysqldump -u root -p db_name > backup.sql 完成後再 DROP DATABASE db_name;。

五、總結

掌握 CREATE/DROP/USE DATABASE 三大核心指令,搭配字元集正確設定、跨平台命名規範、安全刪除習慣,即能輕鬆掌控 MySQL 資料庫生命週期。建議將常用腳本模板化,納入版本控管,提升團隊協作效率。

copyright © 萬盛學電腦網 all rights reserved