Oracle增加修改刪除字段 主鍵

2021-12-30 02:15:07 字數 2917 閱讀 4038

alter table xgj rename column old_name to new_name;alter table tablename modify (column datatype [default value][null/not null],….);假設表xgj,有乙個欄位為name,資料型別char(20)。

create table xgj(

id number(9) ,

name char(20)

)sql> select * from xgj ;

id name

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

sql> alter table xgj modify(name varchar2(20));

table altered

sql>

--緊接著第乙個情況操作,將name的型別改為建立時的char(20)

sql> alter table xgj modify(name char(20));

table altered

--插入資料

sql> insert into xgj(id,name) values (1,'xiaogongjiang');

1 row inserted

sql> select * from xgj;

id name

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

1 xiaogongjiang

sql> alter table xgj modify(name varchar2(20));

table altered

sql> desc xgj;

name type nullable default comments

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

id number(9) y

name varchar2(20) y

sql> alter table xgj modify(name varchar2(40));

table altered

sql> alter table xgj modify(name char(20));

table altered

栗子:--建表

create table xgj (col1 number, col2 number) ;

--插入資料

insert into xgj(col1,col2) values (1,2);

--提交

commit ;

--修改col1 由number改為varchar2型別 (不相容的型別)

解決辦法:

修改原欄位名col1 為col1 _tmp

alter table xgj rename column col1 to col1_tmp;增加乙個和原欄位名同名的字段col1alter table xgj add col1 varchar2(20);將原欄位col1_tmp資料更新到增加的字段col1update xgj set col1=trim(col1_tmp);更新完,刪除原欄位col1_tmpalter table xgj drop column col1_tmp;總結:

1、當欄位沒有資料或者要修改的新型別和原型別相容時,可以直接modify修改。

2、當字段有資料並用要修改的新型別和原型別不相容時,要間接新建欄位來轉移。

alter table tablename add (column datatype [default value][null/not null],….);使用乙個sql語句同時新增多個字段:

alter table xgj

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

age integer default 22 not null,

salary number(9,2)

);alter table tablename drop (column);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 增加修改刪除字段

新增欄位的語法 alter table tablename add column datatype default value null not null 修改欄位的語法 alter table tablename modify column datatype default value null ...

MySQL增加 修改 刪除字段

1 增加字段 語法 alter table 表名 add 列名 字段型別 示例 alter table perple add name varchar 200 改進 增加預設值 alter table perple add name varchar 200 default null 增加備註 alt...

如何在Oracle中增加修改刪除字段

1.新增欄位的語法 alter table tablename add column datatype default value null not null 事例 新增欄位 alter table test1 add name varchar2 30 default 無名氏 not null 一次...