2017/2/6:在oracle中varchar与varchar2的区别与增删改查

时间:2021-08-25 20:27:36
1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
大部分情况下建议使用varchar2类型,可以保证更好的兼容性。 增删改查:
创建表:
create table dept1
(
deptno integer primary key,
dname varchar2(14),
loc varchar2(14),
--部门类型
d_Type char(1)
); --子查询创建表
create table dept2 as
select * from dept1 where deptno=004;
--alter table--用来修改列
alter table dept1 add(dept1_id number(4));
alter table dept2 add(dept2_id number(4));
alter table dept1 modify(deptno number);
alter table dept2 modify(deptno number);
alter table dept2 drop column loc;
alter table dept2 add(loc varchar2(20)); --oracle的增删改查
--增-就是添加数据
insert into dept1(deptno,dname,loc,d_type,dept1_id)values(006,'蔡老师','福建','2','0042');
--删除 delete from table_name where 条件
delete from dept1 where deptno='006';
delete from dept1 where deptno='006';
delete from dept2 where deptno='002'
--truncate table 操作不可回退的 删除他的空间
truncate table dept2
--truncate table dept2 REUSE STORAGE 操作不可回退,但是可以保存删除的空间
truncate table dept2 REUSE STORAGE --更新操作
update dept1 set loc='上海'where deptno='006'
update dept1 set dname='林老师' where deptno='002'
update dept2 set dname='林老师' where d_type='2';
--查询操作
select * from dept1;