表结构创建好以后,如果发现有不满意的地方,还可以对表结构进行修改。修改的操作包括:增加或删除列,修改列的名称、数据类型、数据长度,改变表的名称等。修改表结构的方法有两种:使用SQL Server Management Studio和使用Transact-SQL语句。
1.使用SQL Server Management Studio修改表结构
【例3.9】 sales数据库中的Customer表包含CustomerID、CompanyName、Connect
Name、Address和Notes 5个字段,为该表添加邮政编码(ZipCode)和电话号码(Telephone)字段;删除备注(Notes)字段;修改地址(Address)字段的类型,将其长度设置为200。
使用SQL Server Management Studio修改表结构的操作步骤如下:
1)打开SQL Server Management Studio,在“对象资源管理器”窗口中,展开“数据库”→“sales”数据库节点→“表”节点,右键单击要修改结构的表Customer,在弹出的快捷菜单中选择“设计”命令,打开“表设计器”窗口。
2)添加邮政编码(ZipCode)和电话号码(Telephone)字段,在“表设计器”窗口中选择新增字段所在的位置,然后单击鼠标右键,在弹出的快捷菜单中选择“插入列”命令,如图3-15所示。
这时窗口会在选定列的前面出现一个空行,在空行中输入新增邮政编码(ZipCode)和电话号码(Telephone)字段的信息,如图3-16所示。
这时邮政编码字段和电话号码字段的类型为3.2.2节定义的用户自定义数据类型zip和tele-phone_code。
3)删除备注字段Notes,在“表设计器”窗口中右键单击要删除的列,在弹出的快捷菜单中选择“删除列”命令,如图3-17所示。
4)修改地址字段Address的类型,在“表设计器”中,某一列的名称、数据类型、数据长度以及是否为空值可以直接在该字段上修改,如图3-18所示。
5)修改完成后,单击工具栏上的“保存”按钮即可。如果在保存的过程中,无法保存新增的字段,则弹出警告对话框,如图3-19所示。
这时,可以选择“工具”菜单下的“选项”命令,在弹出的“选项”对话框中,选择“设计器”选项,在右侧面板中取消选中“阻止保存要求重新创建表的更改”复选框,单击“确定”按钮即可,如图3-20所示。
2.使用Transact-SQL语句修改表结构
使用Transact-SQL语句修改表结构的语法格式为:
ALTER TABLE table_name { ADD column_name date_type [DEFAULT contant_expression][IDENTITY(SEED,INCREMENT)][NULL | NOT NULL] | DROP COLUMN column_name | ALTER COLUMN column_name new_datetype [NULL | NOT NULL ] }
【例3.10】 为sales数据库中的Customer表添加备注(Note)字段。
ALTER TABLE Customer
ADD Notes varchar(200)
新建一个使用当前连接的查询,在查询编辑器中输入上面的代码并执行,执行之后,用户可以重新打开Customer的“表设计器”窗口,看到修改后的表结构。注意:不论表中是否已有数据,新增加的列一律为空值,且新增加的一列位于表结构的末尾。
【例3.11】 将表Seller中的Sex列删除。
ALTER TABLE Seller
DROP COLUMN Sex
添加列时,不需要带关键字COLUMN;在删除列时,在列名前要带上关键字COLUMN。
【例3.12】 将Seller表中的Address字段的长度改为30,并且不能为空。
ALTER TABLE Seller
ALTER COLUMN Address varchar(30) NOT NULL
注意 只能修改列的数据类型,以及列值是否为空值。