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

DB2 基礎 DDL 操作語句速查表

     編輯:DB2 教學

建立資料表

CREATE TABLE table_name (
    column1 datatype [NOT NULL] [PRIMARY KEY],
    column2 datatype [NOT NULL],
    ...
);

說明: datatype 為資料型別;NOT NULL 禁止空值;PRIMARY KEY 定義主鍵。

修改資料表結構

新增欄位

ALTER TABLE table_name ADD COLUMN column_name datatype;

⚠️ DB2 不支援直接 DROP COLUMN,需重建表或遷移資料。

主鍵管理

-- 新增主鍵
ALTER TABLE table_name ADD PRIMARY KEY (column_name);

-- 移除主鍵
ALTER TABLE table_name DROP PRIMARY KEY;

索引操作

-- 建立索引
CREATE INDEX index_name ON table_name (column_name);

-- 移除索引
DROP INDEX index_name;

刪除物件

DROP TABLE table_name;
DROP INDEX index_name;

進階欄位屬性與約束

修改欄位長度

ALTER TABLE tab_name ALTER COLUMN c1 SET DATA TYPE VARCHAR(20);

設定 NOT NULL

ALTER TABLE tab_name ALTER COLUMN c1 SET NOT NULL;
-- 或建表時
CREATE TABLE tab_name (id INTEGER NOT NULL);

設定預設值

CREATE TABLE tab_name (
    id INTEGER,
    name VARCHAR(10) WITH DEFAULT 'none'
);

自動遞增欄位 (IDENTITY)

CREATE TABLE tab_name (
    id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
);

唯一性約束

-- 主鍵方式
CREATE TABLE tab_name (id INT NOT NULL PRIMARY KEY);

-- UNIQUE 約束
ALTER TABLE tab_name ADD CONSTRAINT uq_id UNIQUE (id);

-- 唯一索引
CREATE UNIQUE INDEX idx_name ON tab_name (id);

檢查約束

ALTER TABLE books ADD booktype CHAR(1) CHECK (booktype IN ('F','N'));

參照完整性 (外鍵)

CREATE TABLE authors (
    authorid INTEGER NOT NULL PRIMARY KEY,
    lname VARCHAR(100),
    fname VARCHAR(100)
);

CREATE TABLE books (
    bookid INTEGER NOT NULL PRIMARY KEY,
    bookname VARCHAR(100),
    isbn CHAR(10),
    authorid INTEGER REFERENCES authors
);

使用 LIKE 複製表結構

CREATE TABLE mybooks LIKE books;

指定表空間

CREATE TABLE t1 (c1 INT) IN ts1;
CREATE TABLE t2 (c1 FLOAT) IN ts1;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved