数据库基础知识实践(二)

上一篇 / 下一篇  2009-01-19 12:18:14 / 个人分类:ORACLE

转自:

http://blog.chinaunix.net/u/25952/showart_207048.html

修改表

改类型、长度、是否为空: 
 alter   table   mytable   modify  (mycol   varchar2(20)   not   null);  
  要修改类型,字段必须是空的;  
  要修改长度,如果字段是空的,完全可以改,如果字段不空,则只能增加长度,不能减小;  
  要修改是否为空,字段必须符合constraint的要求 

修改列名:关于列名,没有直接的方法改变。但是可以通过其他方法达到改变列名的目的。  
  例如:  
        表A结构如下:  
                    ID(NUMBER)           NAME(VARCHAR2(20)  
                ------------------------------------  
                      1                                     TOM  
                      2                                     MIKE  
                      3                                     JHON  
  将列名NAME改变为NAME1  
 方法1.列复制法 
  1.增加一个与NAME相同结构的字段NAME1  
     Alter   table   A   add(NAME1   varchar2(20));  
  2.将NAME中的数据复制到NAME1中  
     Update   A   Set   NAME1=NAME;  
  3.删除NAME列  
     Alter   table   A   drop   column  NAME;  
  4.修改完成  
   
 方法2.表复制法 
  1.将表A改名 
     Alter   table  A  rename   to  A1  
  2.创建新表并复制数据 
     Create   table   A(ID,NAME1)   as     Select   *   from   A1 
  3.删除表A1  
  4.修改完成  
   
  通过上面两种方法,  
  重新检索表A结果如下:  
                                ID(NUMBER)           NAME1(VARCHAR2(20)  
                ------------------------------------  
                      1                                     TOM  
                      2                                     MIKE  
                      3                                     JHON  

TAG: 数据库

 

评分:0

我来说两句

Open Toolbar