用alter语句进行修改。
专注于为中小企业提供成都网站制作、网站设计、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业德化免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
语法:
1
alter table 表名 modify 字段名 字段类型(字段长度);
说明:如果是date等没有长度的类型,字段长度部分可以省略。
如:目前test表属性如下
要将name列的字段类型改为date类型,可用如下语句:
1
alter table test modify name date;
此时可见name列的类型已经更新成功。
注意事项:
如果表中有数据尽量不要使用此语句,会造成数据丢失,应在备份的情况下进行修改。
你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同, 二, 1,测试表create table TEST(ID NUMBER not null, NAME VARCHAR2(20))ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名 ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型 ALTER TABLE SCOTT.TEST ADD ADD RESS VARCHAR2(40) --添加表列 ALTER TABLE SCOTT.TEST DROP COLUMN RESS--删除表列三, ALTER TABLE gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64) 另建一个表,把varchar改成date,然后用SQL转一下插入,然后删除原表,然后改目标表名字。应该可以了。 四,
1、通图形界面操作左侧依选择objects-tables右键单击要修改表名选‘Edit’-column直接修改;
2、使用DDL语句:alter table 表名 modify 字段名(字符类型(度))
例:alter table emp modify ename(varchar2(32))
修改表名:
alter table 表名 rename to 新名
添加字段:
alter table 表名 add 字段名 字段类型
删除字段:
alter table 表名 drop column 字段名
修改字段:
alter table 表名 rename column 原字段名 to 新名;
修改字段类型(前提:表中无数据)
alter table 表名 modify 字段名 新类型;
例如:String deleteColumn="alter table t_user drop column sname";
最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能). 虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的操作风险很大。如果是误操作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键
1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新操作:
ps:c,d是需要更新的操作,e,f是条件。必须强调的是id必须是主键
1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新操作:
ps:c,d是需要更新的操作,e,f是条件。必须强调的是id必须是主键