SqlServer2008实例22表基础之修改列定义

除了向表中添加新列,还可以使用ALTER TABLE来修改既有列的定义。

实现这个操作的语法如下:

ALTER TABLE table_name

ALLTER COLUMN column_name

[type_name] [NULL | NOT NULL][COLLATE collation_name]

参  数

描  述

Table_name

包含需要修改的列的表名

Column_name

需要修改的列名

type_name

需要修改的列的数据类型

NULL | NOT NULL

需要修改的可空性选项

COLLATE collation_name

需要修改的列排序规则(对于基于字符的数据类型)。排序规则定义了3个设置;用于保存非Unicode字符数据类型的代码页、非Unicode字符数据类型的排列次序以及Unicode数据类型的排列次序。

    这个示例演示如何改变既有表列的可空性和数据类型。HumanResources.Employee表中的Gender列最初是NOT NULL,并且LoginID列的初始数据类型是nvarchar(256);

USE AdventureWorks
GO

--使Gender列可空
ALTER TABLE HumanResources.Employee
ALTER COLUMN Gender nchar(1) NULL

--将nvarchar(256)扩展为nvarchar(300)
ALTER TABLE humanResources.Employee
ALTER COLUMN LoginID nvarchar(300) NOT NULL

    这种修改列的方法有一些局限性。例如,除非列数据类型是varchar、nvarchar或varbinary,否则不能修改用在索引中的列——即使那样,数据类型的新大小必须比原来的大小大。也不能对有主键或者外键约束的列使用ALTER COLUMN。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值