说明:以下的例子均用oracle自带用户scott登陆后,使用其自带的表。
1.oracle表中,列的数据类型包括四类:
(1)内建数据类型
(2)ANSI、DB2和SQL/DS数据类型
SQL语句在ANSI定义的数据类型,以及IBM公司数据库产品DB2和SQL/DS同样可以执行,
Oracle识别这些数据类型,并通过转换函数以内建数据类型进行存储。
(3)用户自定义类型
(4)ORCLA补充类型
2.内建数据类型中的数字数据类型
oracle数据库中的number数据类型里的精度和小数位的理解:例如,number(5,2)怎么理解?
答:总共5位数(包括小数点后2位,但不包括小数点),精确到小数点后2位,最大的数是999.99。
3.查看某张表中各列数据类型
desc emp;
4.更改表名的语句
rename old_nameto new_name;
5.投影操作
投影操作可以给列加上别名,例如:
select empnoid, enamenamefrom emp;
6.dual表
dual表是oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标的select中。
7.在表emp中,所有员工年龄是多少年?
select empno, ename,(sysdate-hiredate)/365from emp
8.条件运算符之any
例:在表emp中,查询工资高于部门(deptno)10的员工工资的员工姓名。
select ename, salfrom empwhere sal>any(select sal from empwhere deptno=10);
9.条件运算符之null
null值就是空值,它与0、空字符串和空格是不同的。
可以通过nvl()将null转换成需要的值。
select ename,nvl(comm,0)from emp;
10.条件运算符之exists
例:select *from deptwhereexists (select ename from empwhere ename='SMITH');
11.条件运算符之like
"_"标识一个字符
"%"表示0个或多个字符
12.单行函数之to_date()
例:insert into empvalues (7935,'wanghui','PM',7902,to_date('2012-02-21','yy-mm-dd'),123,null,20);
13.单行函数之to_char()
例:select to_char(sysdate)from dual; --参数必须是date类型
select to_char(sysdate,'yyyy') from dual;--第一个参数必须是date类型
14.单行函数之to_number()
例:select to_number('1.0E11') from dual
15.组函数groupby、having
综合例子:在表emp中,列出工资最小值大于等于2000,且职位不是ANALYST的,按职位升序排序
select job,min(sal)from emp
where job!='ANALYST'--where
groupby job --group by
havingmin(sal)>=2000--having
orderby job; --order by
16.oracle建表后设置某个字段默认值
alter table 表名 modify 字段名default 默认值;