SHOW DATABASES [LIKE 'pattern'];
支援萬用字元 %(任意字元)與 _(單一字元):
SHOW DATABASES LIKE 'my%'; -- 列出以 my 開頭的資料庫
CREATE DATABASE db_name [CHARACTER SET charset_name] [COLLATE collation_name];
範例:
CREATE DATABASE myfirst CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
原理:MySQL 以目錄形式儲存資料庫,建立資料庫實際是在 data 目錄下建立同名資料夾。
DROP DATABASE [IF EXISTS] db_name;
IF EXISTS:避免資料庫不存在時拋出錯誤(MySQL 3.22+ 支援)# 建立 mysqladmin -u root -p create db_name # 刪除 mysqladmin -u root -p drop db_name
若遇 Access denied for user 'root@localhost',需確認權限或密碼正確性。
資料庫本質是 data 目錄下的資料夾,可直接建立/刪除/重命名資料夾達到同樣效果。此法可用於備份還原場景,但需確保 MySQL 服務停止狀態下操作,否則可能導致資料不一致。
USE db_name;
效力範圍:當前會話期間,或直到下一個 USE 語句。未使用 USE 時,查詢需加前綴:SELECT * FROM db_name.table_name;
CREATE TABLE table_name (
col1 TYPE [CONSTRAINT],
col2 TYPE [CONSTRAINT],
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DESCRIBE table_name; -- 或 SHOW COLUMNS FROM table_name;
-- 新增欄位 ALTER TABLE table_name ADD COLUMN col_name TYPE; -- 修改欄位型別 ALTER TABLE table_name MODIFY COLUMN col_name NEW_TYPE; -- 刪除欄位 ALTER TABLE table_name DROP COLUMN col_name; -- 重命名表 RENAME TABLE old_name TO new_name;
DROP TABLE [IF EXISTS] table_name;
| 功能 | SQL 語句 | 命令列工具 | 直接操作目錄 |
|---|---|---|---|
| 建立資料庫 | CREATE DATABASE | mysqladmin create | mkdir |
| 刪除資料庫 | DROP DATABASE | mysqladmin drop | rm -rf |
| 列出資料庫 | SHOW DATABASES | mysqlshow | ls |
| 切換資料庫 | USE | - | cd |
CHARACTER SET utf8mb4 與 COLLATE utf8mb4_general_ci,支援完整 Unicode(含 Emoji)IF EXISTS 避免誤報錯GRANT/REVOKE 管理權限,而非直接修改 mysql 系統表