玩转Oracle第2讲
varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中
该数据类型向上和向下兼容,但不保证varchar。因为varchar是标准
sql提供的数据类型,有可能随着sql标准的变化而改变,推荐用varchar2
* select dump(字段名) from 表名 可以查看某个字段的大小情况 * insert into 表名 values(‘9-11月-2001’); * 显示完整的时间日期 select to_char(sysdate,'yyyy-mm-dd : hh24:mi:ss') from dual;
它们的进率理论上是1024,但是硬盘制造商制造只要1000,这也就是为什么大点的硬盘会少很多容量
1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 兆兆字节)=1024GB,其中1024=2^10 ( 2 的10次方)。
计算: 1KB=1000B 1MB=1000KB 1GB=1000MB 1TB=1000GB 1PB=1000TB 1EB=1000PB 因此,我们知道,比TB大的单位是PB,比PB再大的单位是EB
* number 默认 就是它的最大范围. 并不是网上有人说的 等同于 number(38) ,而应该是: 1 <= p <=38, -84 <= s <= 127 保存数据范围:-1.0e-130 <= number value < 1.0e+126 保存在机器内部的范围: 1 ~ 22 bytes
■添加一个字段
sql> alter table 表名 add (字段名 字段类型);
■修改字段的长度
sql> alter table 表名 modify (字段名 字段类型);
■修改字段的类型/或是名字(不能有数据)
sql>alter table 表名 modify (字段名 字段类型);
■删除一个字段
sql>alter table 表名 drop column 字段名;
■修改表的名字
sql>rename 原来表名 to 新表名;
■删除表
sql>drop table 表名;
crud (create retrieve update delete)
ORACLE中默认的日期格式'DD-MON-YY'
dd 日子(天),mon 月份 yy 2位的年 '09-6月-99' 1999年6月9号
改日期的默认格式
alter session set nls_date_format = 'yyyy-mm-dd';
插入空值 : insert into student(xh,xm,sex,birthday) values ('A004','MARTIN','男',null);
select sal*13+nvl(comm,0)*13 "年工资",ename,comm from emp;
select ename || 'is a ' || job from emp;
第一个方法: select ename,sal,dept from emp where sal>any (select sal from emp where deptno=30);
第二种方法: Select ename,sal,deptno from emp where sal>(select min(sal) from emp where deptno=30);
1.create table mytable (id,name,sal,job,deptno) as select empno,ename,sal,job,deptno from emp;
2. insert into mytable (id,name,sal,job,deptno) select empno,ename,sal,job,deptno from emp;
内连接案例
select stu.id,exam.id,stu.name, exam.grade from stu inner join exam on stu.id=exam.id
ç===è等价于
select stu.id,exam.id,stu.name, exam.grade from stu , exam where stu.id=exam.id
完全外连接: select * from stu s full outer join exam e on s.id=e.id;
1.左外联
select d1.dname,e1.* from dept d1 left join emp e1 on d1.deptno=e1.deptno
2. 右外联
select e1.*,d1.dname from emp e1 right join dept d1 on d1.deptno=e1.deptno;

浙公网安备 33010602011771号