首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 常用 SQL 語句大全:資料庫與資料表管理篇

     編輯:MySQL 資料庫相關知識

資料庫層級操作

顯示資料庫列表

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+ 支援)
  • 返回值為被刪除的檔案數,通常約為資料表數量的 3 倍(.MYD、.MYI、.frm)

命令列工具管理資料庫

# 建立
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 與工具對照

功能SQL 語句命令列工具直接操作目錄
建立資料庫CREATE DATABASEmysqladmin createmkdir
刪除資料庫DROP DATABASEmysqladmin droprm -rf
列出資料庫SHOW DATABASESmysqlshowls
切換資料庫USE-cd

最佳實踐建議

  1. 永遠指定 CHARACTER SET utf8mb4 與 COLLATE utf8mb4_general_ci,支援完整 Unicode(含 Emoji)
  2. 生產環境嚴禁直接操作 data 目錄,請使用 SQL 或官方工具
  3. 刪除操作前務必確認備份可用,建議加上 IF EXISTS 避免誤報錯
  4. 使用 GRANT/REVOKE 管理權限,而非直接修改 mysql 系統表
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved