修改基本表一般格式为:
ALTER TABLE <表名>
[ADD [COLUMN] <新列名><数据类型>[完整性约束]]
[DROP [COLUMN] <列名> [CASCADE|RESTRICT] ]
[DROP CONSTRAINT <完整性约束名>]
[ALTER COLUMN <列名> <数据类型>]
[CHANGE <旧列名> <新列名> <列类型>]
[MODIFY<列名> <数据类型>];
其中[]为可选项 ,<>为必填项。
注:以下示例均用MySQL数据库测试,Oracle数据库或SQL Server数据库具体SQL语句大同小异(文末附有三种常用数据库语法链接)。
- 修改表名:
基本格式: RENAME TABLE [原表名称] TO `[新表名称];
或者
ALTER TABLE [原表名称] RENAME TO [新表名称];
示例:
RENAME TABLE `flightinf0` TO `t_flightinfo`;
- 修改列名:
基本格式:ALTER TABLE 表名 CHANGE [旧列名] [新列名] [列类型]。
示例:
ALTER TABLE `t_flightinfo` CHANGE `t_plane_num` `aino` VARCHAR(20) DEFAULT NULL;
- 删除表中的列:
基本格式:ALTER TABLE 表名 DROP [COLUMN] <列名> [CASCADE|RESTRICT] ;
示例:
ALTER TABLE `t_flightinfo` DROP COLUMN t_aflight_num;
- 增加新列、新的列级完整性约束条件、和新的表级完整性约束条件:
基本格式:ALTER TABLE 表名 ADD [COLUMN] <新列名><数据类型>[完整性约束];
示例:
ALTER TABLE `t_flightinfo` ADD COLUMN `t_fldt` VARCHAR(50) DEFAULT NULL;
- 修改列数据类型:
基本格式:ALTER TABLE 表名 ALTER COLUMN <列名> <数据类型>;
或ALTER TABLE 表名 CHANGE <旧列名> <新列名> <列类型>;
或
ALTER TABLE 表名 MODIFY<列名> <数据类型>;
注:change和modify在MySQL中可以修改表数据类型,alter column不行,仍给出以前学《数据库系统概论》时用Oracle测试执行的alter column的例子
ALTER TABLE student ALTER COLUMN sage INT;
MySQL示例:
ALTER TABLE `t_flightinfo` MODIFY `t_load` VARCHAR(20);
ALTER TABLE `t_flightinfo` CHANGE `t_load` `t_load` VARCHAR(20);
|
|
博客写的不是很详细,没有给出太多例子。这也是博主在平时学习时抠出的时间写的,敬请见谅。(*  ̄3)(ε ̄ *)
但给出了博文开头给出了修改基本表SQL语句的基本格式,大家可以寄几去尝试测试学习。
更详细的的常用数据库修改基本表语法也可参考:
MySQL语法(MySQL官方):ALTER TABLE Syntax
SQL Server语法(网友CSDN博客链接):SQL Server 修改表结构
Oracle语法(Oracle官方):SQL Language Reference(想节省时间可重点查看example就行(使用Ctrl+f 搜索example点击展开),官方文件写的很详细)