![SQL Server 入门很轻松(微课超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/402/32858402/b_32858402.jpg)
4.4 修改数据表
数据表创建完毕后,它不是一成不变的,我们可以根据需要修改表中的内容,包括表字段、表名称、数据类型等,可以说,几乎所有的表内容都是可以修改的。
4.4.1 变一变数据表的名称
数据表的表名不能使用ALTER语句来修改,如果想要更改数据表的名称,我们可以使用存储过程sp_rename来进行修改,具体的语法格式如下。
sp_rename old_tablename,new_tablename;
主要参数介绍如下。
- old_tablename:数据表原来的名称。
- new_tablename:数据表修改后的名称。
实例10:修改Hotel数据库中房间信息表Roominfo的名称为new_Roominfo,在“查询编辑器”窗口中输入以下语句。
USE Hotel; sp_rename Roominfo,new_Roominfo;
单击“执行”按钮,即可完成数据表名称的修改操作,如图4-31所示。执行完成之后,刷新数据库列表,将会看到数据表名称更改后的显示效果,如图4-32所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P80_5565.jpg?sign=1739445430-CZ6evvN37Yf2FdySZfBBmh0NYGEejFFk-0-68745eea59e841514d0541dcf24a54e8)
图4-31 修改数据表的名称
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P80_5566.jpg?sign=1739445430-56Z5HByuti6ZQMo02InZh3fVsVV1V5lN-0-c0ebd597255328872a8fa9fd796e2ddb)
图4-32 查看修改名称后的数据表
4.4.2 更改表字段的数据类型
使用SQL中的ALTER TABLE语句可以修改数据表中字段的数据类型,具体的语法格式如下。
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
主要参数介绍如下。
- table_name:要修改字段的数据表名称。
- column_name:要修改的字段的名称。
- new_datatype:要修改的字段新数据类型。
实例11:在Hotel数据库中,修改房间信息表Roominfo中Roomid字段的数据类型为varchar(10)。在“查询编辑器”窗口中输入以下语句。
ALTER TABLE Roominfo ALTER COLUMN Roomid VARCHAR(10);
单击“执行”按钮,即可完成数据表字段数据类型的修改操作,如图4-33所示。执行完成之后,重新打开Roominfo的表设计窗口,将会看到修改之后数据表字段的数据类型,如图4-34所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P81_5606.jpg?sign=1739445430-TNetmaDvwhL6x5A4ci28iTusJuIhNVfI-0-33387c0d7fbc5f801d3a7e4508974895)
图4-33 执行SQL语句
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P81_5607.jpg?sign=1739445430-e1uDqv8lF0QCwp68Xi9cMPTiHBWRriXj-0-a8d5ca6b185b1c72dc71be678409df9c)
图4-34 Roominfo表结构
4.4.3 表字段的添加与删除
表创建完毕后,根据实际需要我们还可以对表字段进行添加或删除操作,下面进行详细介绍。
1. 添加表字段
使用SQL中的ALTER TABLE语句可以在数据表中添加字段,具体的语法格式如下。
ALTER TABLE table_name ADD. column_name datatype;
主要参数介绍如下。
- table_name:新增加字段的数据表名称。
- column_name:新增加的字段的名称。
- datatype:新增加字段的数据类型。
实例12:在Hotel数据库中,需要给表Roominfo添加名称为Roomphone的新字段,字段数据类型为varchar(24),不允许空值。在“查询编辑器”窗口中输入以下语句。
ALTER TABLE Roominfo ADD. Roomphone varchar(24) NOT NULL
单击“执行”按钮,即可完成数据表字段的添加操作,如图4-35所示。执行完成之后,重新打开Roominfo的表设计窗口,将会看到新添加的数据表字段,如图4-36所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P81_5638.jpg?sign=1739445430-DJ0czjm1c40GybmoQJ4c1sJG8GS2UQ0h-0-268a8baf44e2e47b5374bd6b995239d0)
图4-35 添加新字段Roomphone
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P81_5639.jpg?sign=1739445430-KwqHJnqZgrtkqvb05WMiCMTUPrqQchoi-0-bb93b836afb291924f50282c98b7a155)
图4-36 添加字段后的表结构
2. 删除表字段
使用SQL中的ALTER TABLE语句可以删除数据表中的字段,具体的语法格式如下。
ALTER TABLE table_name DROP COLUMN column_name;
主要参数介绍如下。
- table_name:要删除字段所在数据表的名称。
- column_name:要删除的字段的名称。
实例13:删除Roominfo表中的Roomphone字段。在“查询编辑器”窗口中输入以下语句。
ALTER TABLE Roominfo DROP COLUMN Roomphone;
单击“执行”按钮,即可完成数据表字段的删除操作,如图4-37所示。执行完成之后,重新打开Roominfo的表设计窗口,将会看到删除字段后的数据表结构,Roomphone字段已经不存在了,如图4-38所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P82_5670.jpg?sign=1739445430-Zj9o5SYXhIzIm9tMq1Nr5RMPPV5KEZFx-0-541ee93a346c7ae2ee930b75a97a8bba)
图4-37 删除字段
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P82_5671.jpg?sign=1739445430-fJ6vYvFfSuF3VYJhPCYGCd6sppozaDn6-0-daf6bb033d91db1d9821035603df5b37)
图4-38 删除字段后的表结构
4.4.4 更改表字段的名称
对于数据表中的字段名称,我们也是可以根据需要进行修改的,但是使用ALTER语句是不行的。不过,使用存储过程sp_rename可以修改表字段的名称,具体的语法格式如下。
sp_rename 'tablename.columnname','new_columnname';
主要参数介绍如下。
- tablename.columnname:原来表中的字段名称。不过,表中的字段名一定要加上单引号。
- new_columnname:新字段的名称,新字段名也要加上单引号,而且不能与表中其他字段的名称重复。
实例14:将数据表Roominfo表中的Roomphone字段名称修改为phone。在“查询编辑器”窗口中输入以下语句。
sp_rename 'Roominfo.Roomphone','phone';
单击“执行”按钮,即可完成数据表字段名的修改操作,如图4-39所示。执行完成之后,重新打开Roominfo的表设计窗口,将会看到字段名修改后的数据表结构,如图4-40所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P82_5691.jpg?sign=1739445430-NVn24qfWYWasfrvW5QemO7dWZiCD3Vnw-0-3c418a30a18092fc2e1716005918344a)
图4-39 修改字段的名称
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P82_5692.jpg?sign=1739445430-GzZHMdSc2aumkUafCcD6IGnPfOghgA3M-0-5e262ae9c3b57d713010f3daba4de6ce)
图4-40 修改字段名称后的表结构
4.4.5 以图形向导方式修改表
在SQL Server Management Studio中,我们可以以图形向导方式修改数据表,如修改表的名称、添加与删除字段、修改字段的数据类型等。
1. 重命名表名称
(1)登录到SQL Server 2017数据库中,在“对象资源管理器”窗口中选择需要重命名的数据表,如这里选中Roominfo_01数据表,右击,在弹出的快捷菜单中选择“重命名”命令,进入数据表重命名状态,如图4-41所示。
(2)输入新的数据表名称,即可完成数据表的重命名操作,如图4-42所示。
2. 添加表字段
数据表创建完成后,如果字段不能满足需要,可以再根据需要添加字段,例如,在Roominfo数据表中,增加一个新的字段,名称为Roomphone,数据类型为varchar(10),允许空值,具体操作步骤如下:
(1)选中Roominfo数据表,右击,在弹出的快捷菜单中选择“设计”命令,如图4-43所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5698.jpg?sign=1739445430-gmk1zf6UABAJZ7caulWPNPni7DavfrXL-0-fb9a559d8c748f44f87b753480619466)
图4-41 重命名状态
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5699.jpg?sign=1739445430-hbeLvJF4bUfmPjtvC0hxGove5Z5j4D0d-0-fc25c70035b216800feef6a4ef3aa32e)
图4-42 数据表的重命名
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5700.jpg?sign=1739445430-2Ay4foqM4QbqHmknmiKJBtHUgc5q8fNW-0-9a0dc95625ab0561fb163d1549744d34)
图4-43 选择“设计”命令
(2)弹出的表设计窗口,在其中添加新字段Roomphone,并设置字段数据类型为varchar(10),允许空值,如图4-44所示。
(3)修改完成之后,单击“保存”按钮,保存结果,增加新字段成功,如图4-45所示。
知识扩展:在保存数据表的过程中,如果无法保存增加的表字段,会弹出相应的警告对话框,如图4-46所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5704.jpg?sign=1739445430-mSqzBh4ZxrX9RzHnTRHWlJb8JJ0sTD5h-0-01e21acf4519adac752006491bf8a79e)
图4-44 增加字段Roomphone
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5705.jpg?sign=1739445430-0DUggy2AGv0KYHwBWq3ikidyntniJz4V-0-913552fcae5664daba526b175f3aaaf7)
图4-45 增加的新字段
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P83_5706.jpg?sign=1739445430-KjaleDyjN9QJ9eXUhLXsnVQw20St9stq-0-aa497b27ddead0d32b5a4e7f94f4b76f)
图4-46 警告对话框
要想解决这一问题,我们可以按照如下步骤进行。
(1)选择“工具”→“选项”命令,如图4-47所示。
(2)打开“选项”对话框,选择“设计器”选项,在右侧面板中取消“阻止保存要求重新创建表的更改”复选框,单击“确定”按钮即可,如图4-48所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P84_5712.jpg?sign=1739445430-vhaAqQlypwm11Oyzo8Wmn22oqmDMvNOw-0-41a7651e2e1586d23342f7118d389a66)
图4-47 选择“选项”命令
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P84_5713.jpg?sign=1739445430-RgIoV9dLUn05UmZrq4UQc37eRzUnuA4Z-0-87a530f0061b2367bb4b428ecdd5bbc3)
图4-48 “选项”对话框
3. 删除表字段
在表的设计窗口中,每次可以删除表中的一个字段,操作过程比较简单,可以分为如下几步:
(1)打开表设计窗口之后,选中要删除的字段,右击,在弹出的快捷菜单中选择“删除列”命令。例如,这里删除Roominfo表中的Roomface字段,如图4-49所示。
(2)删除字段操作成功后,数据表的结构如图4-50所示。
4. 修改字段的数据类型
当数据表中字段不能满足需要时,可以对其进行修改,修改的内容包括改变字段的数据类型、是否允许空值等,修改字段数据类型可分为如下几步:
(1)在数据表设计窗口中,选择要修改的字段名称,单击数据类型,在弹出的下拉列表框中可以更改字段的数据类型,例如,将Roomphone字段的数据类型由varchar(10)修改为varchar(15),允许为空值,如图4-51所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P84_5717.jpg?sign=1739445430-PGRMGxLXsZ6BsXTAiYwE4nuRkDek6PBE-0-d0704933f18282310884920a74fec081)
图4-49 选择“删除列”命令
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P84_5718.jpg?sign=1739445430-dAq5CDxQF8wo5bRFU7vQvAaFrplCstHw-0-549677926be352fbe3d1e3fb721a5527)
图4-50 删除字段后的效果
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P84_5719.jpg?sign=1739445430-ks2Wq7bMSQnbxCJAkKzVo209WYBwXsbF-0-76fe96b68dbcb7d237c11e28e97fc460)
图4-51 选择字段的数据类型
(2)单击“保存”按钮,保存修改的内容,然后刷新数据库,即可在“对象资源管理器”窗口中看到修改之后的字段信息,如图4-52所示。
5. 修改字段的名称
数据表中的字段名称如果不能满足需要,可以对其进行修改,修改字段名称可分为如下几步:
(1)在数据表设计窗口中,选择要修改名称的字段,即可进入字段名称修改状态,如图4-53所示。
(2)修改字段的名称,保存修改的内容,然后刷新数据库,即可在“对象资源管理器”窗格中看到修改之后的字段名称,如图4-54所示。
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P85_5725.jpg?sign=1739445430-bo4j2YW9oGpCn5KFnLcetpGxrhHdD9mr-0-7162b78adc2388f0061020e775e6b9c5)
图4-52 修改后的字段(1)
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P85_5726.jpg?sign=1739445430-K735Gt4InEMlp11mHyyIgSRa8dhuSk2H-0-1336892e1a21236790eaeff256e256ff)
图4-53 选择字段的数据类型
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P85_5727.jpg?sign=1739445430-pW37zeh8LhYHdF3xnEqg4NVQ53h8tU7g-0-58f01fec944c587dde185bcd281b0d9a)
图4-54 修改后的字段(2)
![](https://epubservercos.yuewen.com/A2A7FE/17640317507890906/epubprivate/OEBPS/Images/Figure-P85_23547.jpg?sign=1739445430-2RdFmm3ykREzQpVZAcpEwsxWc5sFvEqE-0-c30d1cdb59db690cc87f573ec5aa6768)
微视频