SQL語句修改表

 
 -- 更改字段類型  默認值
 
alter table 表名 alter column 字段名 類型
ALTER TABLE 表名 add DEFAULT ('修改後的默認值') for 字段名 WITH VALUES 
 
--注:若是該字段之前已經有默認值了,在修改以前須要先將約束刪除,不然會報錯 
--刪約束的SQL: 
Alter table 表名 drop constraint 約束名 
 
--關於約束名,須要先查一下, 
--查約束名的SQL: 
select c.name from sysconstraints a 
inner join syscolumns b on a.colid=b.colid 
inner join sysobjects c on a.constid=c.id 
where a.id=object_id('表名') 
and b.name='字段名'  


/*
A. 添加新列
如下示例將添加一個容許空值的列,並且沒有經過 DEFAULT 定義提供的值。
在該新列中,每一行都將有 NULL 值。
*/
CREATE TABLE doc_exa ( column_a INT) ;
GO
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL ;
GO
DROP TABLE doc_exa ;
GO
  
--B. 刪除列
ALTER TABLE doc_exb DROP COLUMN column_b ;
GO
  
--C. 更改列的數據類型 
INSERT INTO doc_exy (column_a) VALUES (10) ;
GO
ALTER TABLE doc_exy ALTER COLUMN column_a DECIMAL (5, 2) ;
  
--D. 添加包含約束的列
ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL 
    CONSTRAINT exb_unique UNIQUE ;
   
/*
E. 在現有列中添加一個 DEFAULT 約束
如下示例將建立一個包含兩列的表,在第一列插入一個值,
另外一列保持爲 NULL。而後在第二列中添加一個 DEFAULT 約束。
驗證是否已應用了默認值,另外一個值是否已插入第一列以及是否已查詢表。
*/
 
 
ALTER TABLE doc_exz 
ADD CONSTRAINT col_b_def
DEFAULT 50 FOR column_b ;
相關文章
相關標籤/搜索