首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料表基礎操作大全:建立、檢視、修改、刪除與完整性約束

     編輯:MySQL 綜合教學

1. 建立資料表

CREATE TABLE table_name (
    col1 data_type,
    col2 data_type,
    ...
    colN data_type
);

範例:

CREATE TABLE t_dept (
    deptno INT,
    dname VARCHAR(20),
    loc VARCHAR(20)
);

注意:表名避開關鍵字,建議 t_ 或 tab_ 前綴;最後一欄無逗號;先 USE db_name; 選庫。

2. 檢視表結構

  • DESCRIBE table_name; 或 DESC table_name;:簡要結構
  • SHOW CREATE TABLE table_name \G:完整建表語句(\G 直向顯示易讀)

3. 刪除資料表

DROP TABLE table_name;

4. 修改資料表

4.1 修改表名

ALTER TABLE old_name RENAME [TO] new_name;

4.2 新增欄位

-- 尾端新增
ALTER TABLE t ADD col TYPE;

-- 首欄新增
ALTER TABLE t ADD col TYPE FIRST;

-- 指定欄位後新增
ALTER TABLE t ADD col TYPE AFTER existing_col;

4.3 刪除欄位

ALTER TABLE t DROP col;

4.4 修改欄位

操作語法關鍵字
修改型別ALTER TABLE t MODIFY col NEW_TYPE;MODIFY
修改名稱ALTER TABLE t CHANGE old_col new_col OLD_TYPE;CHANGE
同時修改名稱與型別ALTER TABLE t CHANGE old_col new_col NEW_TYPE;CHANGE
調整順序ALTER TABLE t MODIFY col TYPE FIRST|AFTER other_col;MODIFY

5. 完整性約束

5.1 MySQL 支援約束類型

  • NOT NULL:非空
  • DEFAULT:預設值
  • UNIQUE KEY (UK):唯一
  • PRIMARY KEY (PK):主鍵(唯一+非空)
  • AUTO_INCREMENT:自增(MySQL 專有)
  • FOREIGN KEY (FK):外鍵

5.2 非空約束

CREATE TABLE t (col TYPE NOT NULL);

5.3 預設值

CREATE TABLE t (col TYPE DEFAULT 'value');

5.4 唯一約束

-- 匿名
CREATE TABLE t (col TYPE UNIQUE);

-- 命名
CREATE TABLE t (
    col TYPE,
    CONSTRAINT uk_col UNIQUE (col)
);

5.5 主鍵約束

-- 單欄
CREATE TABLE t (col TYPE PRIMARY KEY);

-- 命名單欄
CREATE TABLE t (col TYPE, CONSTRAINT pk_col PRIMARY KEY (col));

-- 多欄複合主鍵
CREATE TABLE t (
    col1 TYPE, col2 TYPE,
    CONSTRAINT pk_composite PRIMARY KEY (col1, col2)
);

5.6 自增約束

CREATE TABLE t (
    id INT PRIMARY KEY AUTO_INCREMENT
);
-- 預設從 1 開始,每筆 +1

5.7 外鍵約束

CREATE TABLE t_child (
    id INT,
    parent_id INT,
    CONSTRAINT fk_parent FOREIGN KEY (parent_id) 
        REFERENCES t_parent (id)
);
-- 子表 FK 參照父表 PK,FK 可為 NULL

命名慣例建議

  • UK:uk_欄位名
  • PK:pk_欄位名
  • FK:fk_參照表_參照欄位
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved