SQL DDL整理
ALTER TABLE TableName ADD (定義)
在表中加入欄
ALTER TABLE TableName DROP (C1)
在表中刪除欄
ALTER TABLE TableName MODIFY (C1 定義) /*Oracle*/
ALTER TABLE TableName ALTER COLUMN C1 定義 /*SQL Server*/
修改欄屬性
ALTER TABLE TableName ALTER COLUMN C1 SET DEFAULT XX /*MySQL*/
設定預設值,不輸入也不會是0
ALTER TABLE TableName ADD CONSTRAINT PKey
PRIMARY KEY (C1)
如果對於已經是primary key 或者有NULL以及重複項的欄使用會產生錯誤
ALTER TABLE TableName ADD CONSTRAINT FKey
FOREIGN KEY C1
REFERENCES OtherTableName(O1)
建立外部鍵連結 以C1當作外部鍵連接O1
ALTER TABLE TableName DROP CONSTRAINT PKey
刪除限制
ALTER TABLE TableName CHANGE COLUMN C1 NewC1 欄位定義
ALTER TABLE TableName RENAME C1 TO NewC1
更改欄名
ALTER TABLE TableName RENAME TO NewTableName
更改表名
CREATE ALIAS OtherName FOR TableName /*DB2*/
建立別名
DROP ALIAS OtherName /*DB2*/
刪除別名
CREATE SEQUENCE SequenceName
START WITH 開始值
MAXVALUE 最大值
MINVALUE 最小值
INCREMENT BY 增加值
CYCLE 是否重複
建立序列
DROP SEQUENCE SequenceName
刪除序列
CREATE TRIGGER TriggerName (Oracle)
(AFTER || BEFORE) (INSERT || UPDATE ||DELETE) ON TableName
BEGIN
陳述式
END;/ <少斜槓(/)不能跑
CREATE TRIGGER TriggerName ON TableName FOR (INSERT || UPDATE || DELETE)
AS 陳述式 (SQL SERVER)
建立觸發器
DROP TRIGGER TriggerName
刪除觸發器
CREATE SYNONYM OtherName FOR TableName
建立別名
DROP SYNONYM OtherName
刪除別名
CREATE TEMPORARY TABLE TableName( (Oracle)
跟建立Table一樣
)ON COMMIT DELETE ROWS; <於COMMIT時刪除內容值
SELECT * INTO ##TempTable FROM TableName
建立暫存表
TRUNCATE TABLE TableName
刪除表 比起DETELE還快 因為不需要取得紀錄跟對索引的處理
CREATE VIEW ViewName
AS (子查詢)
建立視圖
留言
張貼留言