只能改大。沒有數(shù)據(jù)可能直接用 alter table table_name modify column datatype;
創(chuàng)新互聯(lián)服務(wù)項目包括和碩網(wǎng)站建設(shè)、和碩網(wǎng)站制作、和碩網(wǎng)頁制作以及和碩網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,和碩網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到和碩省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
如果有數(shù)據(jù),改小的話可以會丟失數(shù)據(jù)。
根據(jù)字段類型決定
alter table 表名 modify 字段名 varchar2(長度); 或
alter table 表名 modify 字段名 number(長度 );
比如:
表:stu(name varchar2(20)) 要將字段name的長度改為10
表中有一條數(shù)據(jù):name(中國華西村刀光劍影) 長度超過10,截取的時候必然要丟失數(shù)據(jù)。
當(dāng)然 如果表中的數(shù)據(jù)長度都小于10,則可以用sql語句段來直接搞定。
begin
alter table stu add (name2 varchar2(10)); ? 增加新字段
update stu set name2=substr(trim(name),1,10); ?賦值給新字段
alter table stu drop(name); ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除原字段
alter table stu rename column name2 to name; 將新字段改名end;
1、創(chuàng)建表:
CREATE TABLE Student(
id varchar2(32) primary key,
name varchar2(8) not null,
age number
);
2、修改字段名:
alter table Student rename name to StuName;
3、修改數(shù)據(jù)類型:
alter table Student modify (id varchar2(64));
Oracle數(shù)據(jù)庫介紹:
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。可以說Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的 適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。
首先方法是使用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;
語句:
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));
清醒時做事,糊涂時讀書,大怒時睡覺,獨(dú)處時思考;做一個幸福的人,讀書,旅行,努力工作,關(guān)心身體和心情,成為最好的自己
發(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;
網(wǎng)站標(biāo)題:oracle字段怎么改 Oracle修改字段內(nèi)容
新聞來源:http://chinadenli.net/article38/hgogpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、軟件開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)