oracle系列(三)表操作基础
支持的数据类型:
字符型
char 定长 最大2000
varchar2() 变长 最大4000
clob 字符型大对象 最大4G
数字型
number范围 -10的38次方到10的+38次方;
number(5,2) 一个小数,有效位5个,小数点后2个数字
number(5) 表示一个5位的整数
日期类型
date
timestamp
二进制数据
blob 保密性较高,存入数据库/其他情况,保持在文件服务器,数据库只存文件路径
建表:
create table student(
stuId varchar2(10),
age number(2),
birthday date
)
--添加一个字段
alter table student add(name varchar2(10));
--修改字段长度
alter table student modify (name varchar2(20));
null值:is null , is not null
select * from student t where t.name is not null;
savepoint 保存点的使用
SQL> savepoint firstPoint;
Savepoint created
delete from student;
rollback to firstPoint;
drop from student;
delete from student where age>10;
truncate table student;--删除所有记录,表结构还在,不写日志,速度极快
简单查询:
列别名,函数nvl
select t.age "年龄" ,nvl( t.age,0) "年龄为null显示0",t.rowid from STUDENT t;
字符串连接:||
select t.name||'-'|| t.age from student t;
like操作符:
%:任意0到多个字符
_:单个任意字符
多列子查询:
select * from emp where (deptNo,job)=(select deptNo,job from emp where emp='jack');
用查询结果创建新表:
create table mytable (id,name,sal,job,deptNo) as
select empNo,ename,sal,job,deptNo from emp;
union 取消重复行
union all 不取消重复行
intersect 取交集
minus 取差集
--分页查询
select * from (select stu.*,rownum rn from (select * from student) stu where rownum <=5) where rn>=2;