设为首页 收藏本站
查看: 805|回复: 0

[经验分享] 深度分析DB2修改表

[复制链接]

尚未签到

发表于 2016-11-18 10:54:05 | 显示全部楼层 |阅读模式
  DB2修改表操作相信大家都不陌生,下文对DB2修改表方面结合了一些例子进行了详细的分析讨论,供您参考学习。
  DB2修改表
使用ALTER TABLE语句来更改列属性,例如可空性、LOB选项、作用域、约束、压缩属性以及数据类型等等。
  例如,在命令行中输入:
  ALTER TABLE EMPLOYEE  ALTER COLUMN WORKDEPT  SET DEFAULT '123'
  在DB2 V9 for Linux、UNIX and Windows上,已经对ALTER TABLE语句作了改进,现在它可以用来执行以下操作:
  ●   使用新的DROP COLUMN子句删除列
  ●   使用ALTER COLUMN SET DATA TYPE子句修改列属性
  ●   使用SET NOT NULL或DROP NOT NULL子句修改列的可空属性
  在使用SQL修改这些表属性时,不再需要删除表 并重新创建它。这原来是一个很耗费时间的过程,而且在存在对象依赖时可能会很复杂。除了上述新增加的特性外,还可以使用DB2 V9版本以前的修改表语句:
  ●   增加列。增加的新列是表中的最后一列;也就是说,如果最初有n列,那么添加的列将是第n+1列。添加新列不能使所有列的总字节数超过最大记录大小。
  ●   修改与列关联的默认值。在定义了新默认值后,将对任何后续SQL操作中指示使用此默认值的列使用新值。新值必须遵守赋值规则,且受到与CREATE TABLE语句下记录的限制相同的限制。
  下面我们举几个使用ALTER TABLE语句来修改表的例子:
  例1  将Managing_Bank列添加到ACCOUNT表中:
  ALTER TABLE V9R0M0.ACCOUNT ADD COLUMN Managing_Bank VARCHAR(15)
  注意:
  这个特性在DB2 Universal Database Version 8中就已经可用了。
  例2  删除TRANSACTION表中的Instruction_ID列:
  ALTER TABLE V9R0M0.TRANSACTION DROP COLUMN Instruction_ID
  例3 将ACCOUNT和TRANSACTION表中的Account_ID列的数据类型从SMALLINT改为INTEGER:
  ALTER TABLE dev.ACCOUNT ALTER COLUMN Account_ID SET DATA TYPE INTEGER
  ALTER TABLE dev.TRANSACTION ALTER COLUMN Account_ID SET DATA TYPE INTEGER
  例4  删除ACCOUNT表中的Credit_Line列的NOT NULL属性:
  ALTER TABLE dev.ACCOUNT ALTER COLUMN Credit_Line DROP NOT NULL
  例5  增加TRANSACTION表中的Description列的大小:
  ALTER TABLE dev.TRANSACTION ALTER COLUMN Description SET DATA TYPE VARCHAR(60)
  注意:
  这个特性在DB2 Universal Database Version 8中就已经可用了。
  例6  修改t1表中的colnam1列的默认值:
  ALTER TABLE t1 ALTER COLUMN colnam1  SET DEFAULT '123'
  注意:
  这个特性在DB2 V8中就已经可用了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302071-1-1.html 上篇帖子: db2数据库运维常用命令集锦 下篇帖子: oracle数据库脚本转为sqlServer、DB2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表