SQL数据库的表结构操作
更改数据库中对象属性虽然很多时候是不必要的。,假如在创建表时,表名,列名、字段数据类型拼写错误。在插入数据操作时发现对象、数据类型不一致,要检查插入数据与数据库是否匹配,也可以更改表结构。
只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称都不能更改。要修改数据库中指定的对象,当然要先回到自己的库中咯!
语法 sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]
参数 [ @objname = ] 'object_name' 用户对象或数据类型的当前限定或非限定名称。
1. 重命名表 以下示例将 SalesTerritory 表重命名为 SalesTerr。
USE AdventureWorks;
GO
EXEC sp_rename 'SalesTerritory', 'SalesTerr';
2.重命名列
如果要重命名的对象是表中的列,则 object_name 的格式必须是 table.column。
EXEC sp_rename 'table.column ' ,'newColumnName','column'
以下示例将 SalesTerritory 表中的 TerritoryID 列重命名为 TerrID。
EXEC sp_rename 'SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
3. 重命名索引
如果要重命名的对象是索引,则 object_name 的格式必须是 table.index
以下示例将 Index_VendorID 索引重命名为 Ind_VendorID。
EXEC sp_rename N'Purchasing.ProductVendor.Index_VendorID', N'Ind_VendorID', N'INDEX'; GO
4. 重命名别名数据类型
以下示例将 Phone 别名数据类型重命名为 Telephone。
EXEC sp_rename 'Phone', 'Telephone', N'USERDATATYPE';
5.更改列数据类型
alter table TABLENAME alter column COLUMNNAME DATATYPE;
以下示例将 teacherbak 表中Department 列的数据类型char()重新定义为 varchar()。
alter table teacherbak alter column Department varchar(20);
在oracle于中更改列数据类型则使用modify,下表为Oracle中的DDL语句
| 对字段操作 | 操作方法 |
| 更新字段名 | alter table TABLE_NAME rename column column_old to column_new; |
| 添加字段 | alter table TABLE_NAME add COLUMN_NAME varchar(10); |
| 删除字段 | alter table TABLE_NAME drop column COLUMN_NAME; |
| 添加字段并附值 | alter table TABLE_NAME ADD COLUMN_NAME NUMBER(1) DEFAULT 1; |
| 修改字段值 | update TABLE_NAME set filedname=value where filedname=value; |
| 修改字段数据类型 | alter table tablename modify filedname varchar2(20); |

浙公网安备 33010602011771号