具體不廢話了,請看下文代碼詳細說明吧。
向表中增加一個 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;
ps:SQL命令行修改數據庫
增加列:
alter table tableName add columnName varchar(30)
修改列類型:
alter table tableName alter column columnName varchar(4000)
修改列的名稱:
EXEC sp_rename 'tableName.column1' , 'column2' (把表名為tableName的column1列名修改為column2)
刪除列:
alter table tableName drop column columnName
以上內容就是本文的全部敘述,希望對大家有所幫助。