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);
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'
);
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
);
CREATE TABLE mybooks LIKE books;
CREATE TABLE t1 (c1 INT) IN ts1;
CREATE TABLE t2 (c1 FLOAT) IN ts1;