当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(46)

MSSQL
SQLServer 批量插入数据的两种方法
SQLServer 通用的分区增加和删除的算法
数据库的一些常用知识
SQLServer 连接异常与解决方法小结
sqlserver 无法验证产品密匙的完美解决方案[测试通过]
sql2000 卸载后重新安装时不能安装的解决办法
SQLServer 快速备份的十种方法
sqlserver 中一些常看的指标和清除缓存的方法
SQL 提权 常用命令
数据转换冲突及转换过程中大对象的处理
SQLServer 数据库开发顶级技巧
远程连接SQLSERVER 2000服务器方法
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法
SQLServer 触发器 数据库进行数据备份
SQLServer 数据库备份过程中经常遇到的九种情况
SQL 截取字符串应用代码
除MSSQL数据库text字段中恶意脚本的删方法
SQLServer CONVERT 函数测试结果
SQLServer 中.与::的区别
SQL 研究 相似的数据类型

MSSQL 中的 SQL Server数据库技术(46)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 80 ::
收藏到网摘: n/a

当表创建好后,可能根据需要要对表的列、约束等属性进行添加、删除或修改,这就需要修改表结构。

7.4.1 用Enterprise Manager 修改
在Enterprise Manager 中选择要进行改动的表,单击右键,从快捷菜单中选择“DesignTable”选项,则会出现如图7-4 所示的修改表结构对话框。可以在图7-4 所示的对话框中修改列的数据类型、名称等属性或添加、删除列,也可以指定表的主关键字约束。单击工具栏中的图标,出现如图7-5 所示的编辑表和约束的属性的对话框。可以在其中编辑各种约束和一些表的属性。



7.4.2 用ALTER TABLE 命令修改
ALTER TABLE 命令可以添加或删除表的列、约束,也可以禁用或启用已存在的约束
或触发器。其语法如下:
ALTER TABLE table
{ [ALTER COLUMN column_name
{ new_data_type [ (precision[, scale] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP} ROWGUIDCOL } ]
| ADD
{ [ ]
| column_name AS computed_column_expression
}[,...n]
| [WITH CHECK | WITH NOCHECK] ADD
{ }[,...n]
| DROP
{ [CONSTRAINT] constraint_name
| COLUMN column
}[,...n]
| {CHECK | NOCHECK} CONSTRAINT
{ALL | constraint_name[,...n]}
| {ENABLE | DISABLE} TRIGGER
{ALL | trigger_name[,...n]}
}
::= { column_name data_type }
[ [ DEFAULT constant_expression ]
| [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ]
]
[ ROWGUIDCOL ]
[ COLLATE < collation_name > ]
[ ] [ ...n]
::= [CONSTRAINT constraint_name]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[CLUSTERED | NONCLUSTERED]
[WITH FILLFACTOR = fillfactor]
[ON {filegroup | DEFAULT} ] ] ]
| [ [FOREIGN KEY]
REFERENCES ref_table [(ref_column) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[NOT FOR REPLICATION ] ]
| CHECK [NOT FOR REPLICATION]
(logical_expression)}
::= [CONSTRAINT constraint_name]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED]
{ ( column [ ASC | DESC ] [,...n] ) }
[ WITH FILLFACTOR = fillfactor]
[ON {filegroup | DEFAULT} ] ]
| FOREIGN KEY
[(column[,...n])]
REFERENCES ref_table [(ref_column[,...n])]
[NOT FOR REPLICATION]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
| CHECK [NOT FOR REPLICATION]
(search_conditions)}
各参数说明如下:

  • table
    指定要修改的表的名称。如果表不在当前数据库中或表不属于当前的用户,就必须指明其所属的数据库名称和所有者名称。
  • ALTER COLUMN
  • new_data_type
    指定新的数据类型名称,其使用标准如下:
    列的原数据类型应可以转换为新的数据类型;
    新的数据类型不能为TIMESTAMP;
    新的数据类型允许列为NULL 值;
    如果原来的列是IDENTITY 列,则新的数据类型应支持IDENTITY 特性;
    当前的SET ARITHABORT 设置将被视为处于ON 状态。
  • precision
    指定新数据类型的位数。
  • scale
    指定新数据类型的小数位数。
  • NULL | NOT NULL
    指明列是否允许NULL 值。如果添加列到表中时,指定它为NOT NULL, 则必须指定此列的缺省值。选择此项后,new_data_type [(precision [, scale ])]选