sql server 修改表結構語法大全

2021-09-07 08:04:51 字數 2271 閱讀 6549

1.增加字段

alter

table docdsp add dspcode char(200)

2.刪除字段

alter

table table_name drop

column column_name

3.修改字段型別

alter

table table_name alter

column column_name new_data_type

2.6.1. 增加字段

要增加乙個字段,使用這條命令:

alter

table products add

column description text;

新增的字段對於表中已經存在的行而言最初將先填充空值。

你也可以同時在該字段上定義約束,使用通常的語法:

alter

table products add

column description text

check (description <>

'');

乙個新字段不能用非空約束,因為最初的時候該欄位必須包含空值。 但是你可以稍後增加乙個非空約束。同樣,你也不能在乙個新字段 上定義預設值。根據 sql 標準的說明,這樣需要對現存行的新 字段填充預設值,而這個特性還沒有實現。但是你可以稍後調整 字段預設。

2.6.2. 刪除字段

要刪除乙個字段,使用這個命令:

alter

table products drop

column description;

2.6.3. 增加約束

要增加乙個約束,使用表約束語法。比如:

alter

table products add

check (name <>

'');

alter

table products add

constraint some_name unique

(product_no);

alter

table products add

foreign

key (product_group_id) references product_groups;

要增加乙個不能寫成表約束的非空約束,使用下面語法:

alter

table products alter

column product_no set

notnull;

要刪除乙個約束,你需要知道它的名字。如果你給了它乙個名字, 那麼事情就好辦了。否則系統會分配乙個生成的名字,這樣你就需要 把它找出來了。psql 的命令 \d tablename 在這兒可以幫忙; 其它介面可能也提供了檢查表的細節的方法。然後就是這條命令:

alter

table products drop

constraint some_name;

除了非空約束外,所有約束型別都這麼用。要刪除非空型別,用

alter

table products alter

column product_no drop

notnull;

(要記得非空約束沒有名字。)

2.6.5. 改變預設值

要給乙個字段設定預設值,使用乙個象下面這樣的命令:

alter

table products alter

column price set

default

7.77;

要刪除預設值,用

alter

table products alter

column price drop

default;

這樣相當於把預設設定為空,至少在 postgresql裡是這樣的。 結果是,如果我們刪除乙個還沒有定義的預設值不算錯誤,因為預設隱含就是空值。

2.6.6. 給字段改名字

重新命名乙個字段:

alter

table products rename column product_no to product_number;

2.6.7. 給表改名字

to rename a table

:alter

table products rename to items;

SQL Server 修改表結構

檢視指定表結構exec sp help reports修改表名exec sp rename reports reports2 刪除資料表 不能刪除有外來鍵約束的表。drop table reports表字段alter table reports add newcolumn nchar 5 null ...

sql server 修改表結構

修改資料庫名稱 表名稱 欄位名 修改資料庫名 sp renamedb olddbname newdbname 修改表名 sp rename oldtablename newtablename 修改欄位名 引數簡單易懂 oldcolumnname oldcolumnname 舊表名 如果多表字段重複的...

SQL Server 2005 修改表結構

為表新增具有預設值的一列 if not exists select from syscolumns where name website and objectproperty id,isusertable 1 and object name id tbbrowser begin alter tabl...