扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
--以下是我根据你的描述,做的测试,希望对你有帮助:\x0d\x0a\x0d\x0a-- 新建一张表kongxianji:\x0d\x0aCREATE TABLE kongxianji(a VARCHAR2(200));\x0d\x0a\x0d\x0a-- 插入数据,然后提交:\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(6)789');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(67)89');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(678)9');\x0d\x0aCOMMIT;\x0d\x0aSELECT * FROM kongxianji;\x0d\x0a\x0d\x0a-- 把a中的括号去掉,然后提交,到这一步可以查看表中数据的变化情况:\x0d\x0aUPDATE kongxianji SET a = replace(a,substr(a,instr(a,'('),(instr(a,')')-instr(a,'(')+1)),'');\x0d\x0aCOMMIT;\x0d\x0a\x0d\x0aSELECT * FROM kongxianji;
目前成都创新互联已为千余家的企业提供了网站建设、域名、网页空间、网站托管、服务器托管、企业网站设计、略阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
用alter语句进行修改。
语法:
alter table 表名 modify 字段名 字段类型(字段长度);说明:如果是date等没有长度的类型,字段长度部分可以省略。
如:目前test表属性如下
要将name列的字段类型改为date类型,可用如下语句:
alter table test modify name date;此时可见name列的类型已经更新成功。
注意事项:
如果表中有数据尽量不要使用此语句,会造成数据丢失,应在备份的情况下进行修改。
语句:
alter table tableName rename column oldCName to newCName; -- 修改字段名
alter table tableName modify (cloumnName 数据类型); -- 修改数据类型
例如:
1、创建表:
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、修改数据类型:
alter table Student modify (id varchar2(64));
清醒时做事,糊涂时读书,大怒时睡觉,独处时思考;做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己
首先方法是使用RENAME关键字:
修改字段名:alter table 表名 rename column 现列名 to 新列名;
修改表名:alter table 表名 rename to 新表名
增加字段语法:alter table tablename add (column datatype [default value][null/not null],….);
说明:alter table 表名 add (字段名 字段类型 默认值 是否为空);
例: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 (字段名 字段类型 默认值 是否为空);
例: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是关键字)
例:alter table sf_InvoiceApply rename column PIC to NEWPIC;
表的重命名:
说明:alter table 表名 rename to 新表名
例:alter table sf_InvoiceApply rename to sf_New_InvoiceApply;
发现clob类型比较特殊,和其他字段类型不同,不可以从其他字段类型直接转换为clob(blob也一样),可以通过long类型作为中间转换的桥梁,即先将varchar2转换为long,然后再将long转换为clob,即可。
SQL alter table test modify (loc long );
Table altered
SQL alter table test modify (loc clob );
Table altered
2、假设要修改字段有数据,则可以使用以下两种方法;
方法一:
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;
1、通过图形界面操作,在左侧依次选择objects-tables,右键单击要修改的表名,选中‘Edit’-column,可以直接修改;
2、使用DDL语句:alter table 表名 modify 字段名(字符类型(长度))
例如:
alter table emp modify ename(varchar2(32))
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流