首页 理论教育 SQLServer数据库基础:修改数据表及列示例

SQLServer数据库基础:修改数据表及列示例

时间:2023-11-03 理论教育 版权反馈
【摘要】:为例2.3中建立的studentInfo表添加一个Remark列。其语法格式为:例2.10:修改列的示例。修改列的可空性如将studentInfo表的studentBirthday字段的可空性更改为允许为空。从上述语句中可以看出,修改可空性不能省略数据类型。sp_rename用于在当前数据库中更改用户创建对象的名称。表2.2sp_rename参数说明如将studentInfo表的classNo列的列名修改为cNo,可以通过以下语句实现。

SQLServer数据库基础:修改数据表及列示例

创建表之后,可以更改最初创建表时定义的许多选项,如添加、修改或删除列。例如,列的名称、长度、数据类型、精度、小数位数以及为空性均可进行修改,不过有一些限制而已。

1.添加列

添加列的语法:

例2.8:添加列示例。

为例2.3中建立的studentInfo表添加一个Remark列。

为studentInfo表添加两个列:Remark1、Remark2。

注意

可以向现有表添加列,前提是相应列允许使用 NULL 值或者对该列创建了DEFAULT约束。若表中还没有数据,则无此限制。

2.删除列

删除列的语法:

例2.9:删除列示例。

上面的示例将修改studentInfo表以删除Remark列。

3.修改列

修改列主要修改列的名称、数据类型、长度、精度、小数位数以及可空性。其语法格式为:

例2.10:修改列的示例。

➢修改列的数据类型、长度、精度、小数位数。如将studentInfo表的studentBirthday字段的数据类型从SMALLDATETIME修改为

DATETIME。(www.xing528.com)

注意

其实修改数据类型和修改长度、精度、小数位数等是一样的,如可以将数据类型从SMALLINT修改为INT、从VARCHAR(20)修改为NVARCHAR(20)、从INT修改为DECIMAL(6,2)、从DECIMAL(6,2)修改为DECIMAL(8,4)等,从中可以看出有的仅仅修改了数据类型,有的既修改了类型又修改了长度、精度及小数位数。

关键还要注意一点,在数据类型修改后,可能列的数据将发生变化,如字符串类型更改后类型的长度小于开始长度时,字符串数据可能会被截断。还有,数据类型不能胡乱修改,有些类型根本就不可以进行相互转换,更改类型时可能会发生错误

➢修改列的可空性

如将studentInfo表的studentBirthday字段的可空性更改为允许为空。

从上述语句中可以看出,修改可空性不能省略数据类型。

➢修改列的名称

在SQL Server中提供了一个系统存储过程sp_rename可以修改列的名称。sp_rename用于在当前数据库中更改用户创建对象的名称。此对象可以是表、索引、列等,包括数据库名称也可以使用sp_rename系统存储过程修改。

sp_rename的语法为:

参数说明见表2.2。

表2.2 sp_rename参数说明

如将studentInfo表的classNo列的列名修改为cNo,可以通过以下语句实现。

或者

执行上述语句后可以发现studentInfo表的“classNo”列名变成了“cNo”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈