修改ORALCE中表的字段

2021-05-21 15:08:01 字數 1760 閱讀 5479

如何修改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() )

SQLyog中表和字段編碼方式修改

sqlyog在建立表時預設的表的編碼方式為latin1,但通常我們在插入和修改資料時會用到中文,所以通常會修改表的編碼格式,編碼格式的修改方式有兩種,一種是在建立表的同時修改表的編碼格式,另一種時建立後再修改編碼格式。方式一 建立表的同時修改編碼格式 create table if not exis...

oralce的TIMESTAMP型字段作為關聯條件

兩個表,表a的內容是乙個列表,表b的內容是其明細。a表,表名 head b表,表名 detail head表主鍵 字段 型 店鋪 varchar2 10 番號1 number 2 營業日 timestamp 6 番號2 number 6 detail表主鍵 字段 型 店鋪 varchar2 10 番...

oralce修改使用者密碼

1.win r開啟執行視窗,輸入cmd進入命令列 輸入sqlplus 輸入使用者名稱,輸入口令 如果是超級管理員sys的話需在口令之後加上as sysdba 進入sql命令列 2.連線成功後,輸入 select username from dba users 檢視使用者列表。3.若修改某乙個使用者密...