修改SQL-SERVER資料庫表結構的SQL命令

iSQlServer發表於2009-03-09
向表中增加一個 varchar 列:
  ALTER TABLE distributors ADD COLUMN address varchar(30);
  從表中刪除一個欄位:
  ALTER TABLE distributors DROP COLUMN address RESTRICT;
  在一個操作中修改兩個現有欄位的型別:
  ALTER TABLE distributors
  ALTER COLUMN address TYPE varchar(80),
  ALTER COLUMN name TYPE varchar(100);
  使用一個 USING 子句, 把一個包含 UNIX 時間戳的 integer 欄位轉化成 timestamp with time zone:
  ALTER TABLE foo
  ALTER COLUMN foo_timestamp TYPE timestamp with time zone
  USING
  timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';
  對現存欄位改名:
  ALTER TABLE distributors RENAME COLUMN address TO city;
  更改現存表的名字:
  ALTER TABLE distributors RENAME TO suppliers;
  給一個欄位增加一個非空約束:
  ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;
  從一個欄位裡刪除一個非空約束:
  ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;
  給一個表增加一個檢查約束:
  ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
  刪除一個表和它的所有子表的監查約束:
  ALTER TABLE distributors DROP CONSTRAINT zipchk;
  向表中增加一個外來鍵約束:
  ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
  給表增加一個(多欄位)唯一約束:
  ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
  給一個表增加一個自動命名的主鍵約束,要注意的是一個表只能有一個主鍵:
  ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
  把表移動到另外一個表空間:
  ALTER TABLE distributors SET TABLESPACE fasttablespace;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-564915/,如需轉載,請註明出處,否則將追究法律責任。

相關文章