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 ;

 

posted @ 2014-01-12 17:22  bdf216  阅读(922)  评论(0编辑  收藏  举报