| 陳述式 | 語法 | 說明 |
|---|---|---|
| SHOW DATABASES | SHOW DATABASES [LIKE 'pattern'] | 列出所有資料庫,支援 % _ 萬用字元 |
| CREATE DATABASE | CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation] | 建立資料庫目錄,可指定字符集與校對 |
| DROP DATABASE | DROP DATABASE [IF EXISTS] db_name | 刪除資料庫目錄及所有表檔,謹慎使用! |
| USE | USE db_name | 設定當前預設資料庫,僅影響當前會話 |
# 建立資料庫
mysqladmin -u root -p create db_name
# 刪除資料庫(會提示確認)
mysqladmin -u root -p drop db_name
# 直接指定密碼(不安全,僅示範)
mysqladmin -u root -ppassword create db_name
若出現 Access denied,需提供有效帳號密碼(-u -p)。
資料庫本質是資料目錄下的子目錄。可直接:
mkdir /var/lib/mysql/new_db; chown mysql:mysql ...; chmod 700 ...rm -rf /var/lib/mysql/old_dbmv /var/lib/mysql/old /var/lib/mysql/new(需確保無進程存取)。適合冷備份、檔案系統快照、跨實例遷移。操作前務必 FLUSH TABLES WITH READ LOCK 或停止服務。
CREATE DATABASE mydb
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
utf8mb4 支援完整 Unicode(含 Emoji)。_unicode_ci(準確)或 _general_ci(快速)。IF NOT EXISTS/IF EXISTS 避免腳本報錯中斷。DROP DATABASE,需經備份驗證、變更流程審核。USE db,避免跨庫誤操作。SHOW DATABASES 稽核未授權資料庫。資料庫級操作看似簡單,卻是資料架構的基石。掌握 SQL 與工具雙重技能,配合字符集規劃、權限控管與備份策略,才能構建穩健可維運的 MySQL 環境。