語句:
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供二七網(wǎng)站建設(shè)、二七做網(wǎng)站、二七網(wǎng)站設(shè)計(jì)、二七網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、二七企業(yè)網(wǎng)站模板建站服務(wù),十多年二七做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
alter table tableName rename column oldCName to newCName; -- 修改字段名
alter table tableName modify (cloumnName 數(shù)據(jù)類型); -- 修改數(shù)據(jù)類型
例如:
1、創(chuàng)建表:
CREATE TABLE Student(
id varchar2(32) primary key,
name varchar2(8) not null,
age number
);
2、修改字段名:
alter table Student rename column name to StuName;
3、修改數(shù)據(jù)類型:
alter table Student modify (id varchar2(64));
清醒時(shí)做事,糊涂時(shí)讀書,大怒時(shí)睡覺,獨(dú)處時(shí)思考;做一個(gè)幸福的人,讀書,旅行,努力工作,關(guān)心身體和心情,成為最好的自己
首先方法是使用RENAME關(guān)鍵字:
修改字段名:alter table 表名 rename column 現(xiàn)列名 to 新列名;
修改表名:alter table 表名 rename to 新表名
增加字段語法:alter table tablename add (column datatype [default value][null/not null],….);
說明:alter table 表名 add (字段名 字段類型 默認(rèn)值 是否為空);
例:alter table sf_users add (HeadPIC blob);
例:alter table?sf_users add (userName varchar2(30) default?'空' not null);
修改字段的語法:alter table tablename modify (column datatype [default value][null/not null],….);
說明:alter table 表名 modify (字段名 字段類型?默認(rèn)值 是否為空);
例:alter table sf_InvoiceApply modify (BILLCODE number(4));
刪除字段的語法:alter table tablename drop (column);
說明:alter table 表名 drop column 字段名;
例:alter table sf_users drop column HeadPIC;
字段的重命名:
說明:alter table 表名 rename ?column? 列名 to 新列名?? (其中:column是關(guān)鍵字)
例:alter table sf_InvoiceApply rename column PIC to NEWPIC;
表的重命名:
說明:alter table 表名 rename to? 新表名
例:alter table?sf_InvoiceApply rename to??sf_New_InvoiceApply;
發(fā)現(xiàn)clob類型比較特殊,和其他字段類型不同,不可以從其他字段類型直接轉(zhuǎn)換為clob(blob也一樣),可以通過long類型作為中間轉(zhuǎn)換的橋梁,即先將varchar2轉(zhuǎn)換為long,然后再將long轉(zhuǎn)換為clob,即可。
SQL alter table test modify (loc long );
Table altered
SQL alter table test modify (loc clob );
Table altered
2、假設(shè)要修改字段有數(shù)據(jù),則可以使用以下兩種方法;
方法一:
alter table batchintfloadlog rename column resultinfo to resultinfo_temp;
alter table batchintfloadlog add resultinfo clob;
update batchintfloadlog set resultinfo=trim(resultinfo_temp);
alter table batchintfloadlog drop column resultinfo_temp;
方法二:
create table batchintfloadlog_temp ?as select * from batchintfloadlog where 1=2;?
alter table batchintfloadlog_temp modify (resultinfo long);?
alter table batchintfloadlog_temp modify (resultinfo clob);?
insert into batchintfloadlog_temp select * from batchintfloadlog;
drop table batchintfloadlog;?
rename batchintfloadlog_temp to batchintfloadlog;