首页 > 代码库 > sql语句对列进行操作

sql语句对列进行操作

 1 create table test_1(
 2  tname number(20),
 3  tage varchar2(1024),
 4  tmessage varchar(1024)
 5 );
 6 select * from test_1;
 7 --添加列
 8 alter table test_1 add  par_var varchar2(1024);
 9 --添加多列
10 alter table test_1 add (par_var1 varchar2(1024), par_var2 varchar2(1024));
11 --修改单列, 长度
12 alter table test_1  modify par_var varchar2(20);
13 --修改单列的类型
14 alter table test_1 modify  par_var number(20);
15 alter table test_1 modify par_var varchar2(1204); 
16 --修改表的列有数据, 
17 -- alter table test_1 modify par_var varchar2(40);  
18 -- 会报“ORA-01439:要更改数据类型,则要修改的列必须为空 ”的错误
19 -- 解决方法:修改原字段名-->增加一个和原字段名同名的字段
20 -- -->将原字段name_tmp数据更新到增加的字段-->更新完,删除原字段
21 
22 /**  */
23 insert into test_1(par_var) values(1);
24 insert into test_1(par_var) values(2);
25 insert into test_1(par_var) values(3);
26 insert into test_1(par_var) values(4);
27 commit;
28 alter table test_1 rename column par_var to par_var0;
29 alter table test_1 add  par_var varchar2(60);
30 update test_1 set par_var = trim(par_var0);
31 commit;
32 alter table test_1 drop column par_var0;
33 
34 /*select trim(par_var) from test_1;
35 delete from test_1 where par_var is null;
36 commit;
37 */
38 update test_1 set par_var = null;
39 commit;
40 
41 --修改多列
42 alter table test_1  modify (par_var varchar2(20), par_var1 varchar2(22));
43 -- 删除一列, 注意需要加column
44 alter table test_1 drop column par_var2;
45 
46 -- alter table test_1 add ( par_var2 varchar2(1024));
47 
48 --删除多列, 不需要加column
49 alter table test_1 drop (par_var1, par_var2);

 

sql语句对列进行操作