Oracle修改表結構欄位名和字段長度

2021-07-08 12:27:40 字數 2191 閱讀 2796

新增欄位的語法:alter table tablename add (column datatype [default value][null/not null],….);

修改欄位的語法:alter table tablename modify (column datatype [default value][null/not null],….);

刪除欄位的語法:alter table tablename drop (column);

建立表結構:

create table test1

(id varchar2(20) not null);

增加乙個字段:

alter table test1

add (name varchar2(30) default 『無名氏』 not null);

使用乙個sql語句同時新增三個字段:

alter table test1

add (name varchar2(30) default 『無名氏』 not null,

age integer default 22 not null,

has_money number(9,2) );

修改乙個字段

alter table test1

modify (name varchar2(16) default 『unknown』);

刪除乙個字段

alter table test1

drop column name;

oracle修改表欄位名和長度的方式與標準的sql不一樣,它需要增加特定的關鍵字。

使用rename關鍵字來實現欄位名的修改:alter table 表名 rename column舊的欄位名 to 新的欄位名;

alert table wtc rename column qy to qcompany;

使用modify關鍵字來實現對資料型別的修改:alter table 表名 modify 欄位名 資料型別;

alert table wtc modify column qcompany varchar2(500);

高階用法:

重新命名表

alter tabletable_namerename tonew_table_name;

修改列的名稱

語法:alter table table_name rename column supplier_name to sname;

範例:alter table s_dept rename column age to age1;

附:建立帶主鍵的表》

create table student (

studentid int primary key not null,

studentname varchar(8),

age int);

1、建立表的同時建立主鍵約束

(1)無命名

create table student (

studentid int primary key not null,

studentname varchar(8),

age int);

(2)有命名

create table students (

studentid int ,

studentname varchar(8),

age int,

constraint yy primary key(studentid));

2、刪除表中已有的主鍵約束

(1)無命名

可用 select * from user_cons_columns;

查詢表中主鍵名稱得student表中的主鍵名為sys_c002715

alter table student drop constraint sys_c002715;

(2)有命名

alter table students drop constraint yy;

3、向表中新增主鍵約束

alter table student add constraint pk_student primary key(studentid);

oracle 修改 欄位名稱

暫時應該沒有對應的方法,所以我用自己想好的方法去修改 修改原欄位名 name 為name tmp,是將想改名稱的字段改為沒用 臨時的字段 alter table 表名 rename column 老欄位 to 新字段 增加乙個和原欄位名同名的字段 name alter table 表名 add 老欄...

Oracle中修改表中欄位名

更改欄位名 modify 不能用於更改欄位名 alter table emp modify address address err 解決方法 create table ut as select name,tel,id empid from emp 將 emp中資料取出並存到新建的表ut中,並將字段i...

取Oracle 表名 欄位名

檢視oracle 資料庫中本使用者下的所有表 select table name from user tables 檢視oracle 資料庫中所有使用者下的所有表 select user,table name from all tables 檢視oracle 資料庫中本使用者下的所有列 select...