oracle資料庫常用SQL

來源:互聯網
上載者:User

刪除資料庫某個表中的一列

alter table tablename drop clumn clumnname;

因為需求的變更,所以,有要對資料庫中的一些欄位進行修改.查了下網路上在資料,欄位名稱是無法修改的.唯一的辦法,就是刪了再添加.

如何修改oracle資料庫中表的結構(欄位的名稱、長、類型、是否為空白)?

改類型、長度、是否為空白:      

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  

------------------------------------------------------------------------------------------------------------

添加表欄位: ALTER     TABLE     YourTable     ADD     NewColumn     VARCHAR(20)     NULL

--刪除 alter table     YourTable       drop column    ColumnName

--修改

alter table    sales_provoder_info modify    (buyer    varchar() )

在Oracle中增加一列並指定預設值

alter table tblname add newcolumn varchar(40) default '預設值'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.