Oracle基本数据类型

字符型
        char
        varchar2
        long (4G)

数型型
      number(m,n)

      number(4);  4位整数
      number(4,2); 二个整数,2位小数

日期时间型   默认的格式   '18-9月-15 18:44:40.123455' 
          date   精确到秒
          timestamp  精确到秒后面6位小数

RAW  存放二进制数,如  声音,图片

LOB  (大对象数据类型)  流    效率高
     clob (海量文本)
     blob (海量二进制,如声音。图片,视频)
     bfile (文本存在操作系统里面,放文件的指针)


 伪列(rowid  rownum) 查询
 rowid 使用一个32位字符串,来唯 一表示每一行,   快速定位

 rownum( mssqlserver -- top   限数查询 ) 插入行时,给每一行连续整数编号,从1开始
 1)不能带前缀
 2)查询时必须从1开始查

分页显示

 mysql    limit
 oracle   rownum    row_number()over();
 mssqlerver   top   row_number()over()--SQL2005以上;

代码块

相关的代码操作,例如:

@requires_luolijun

create table stu
(
    sid number(4),
    bid number(4),
    sname varchar2(20),
    sborn date,
    saddress varchar2(50)
)
-- oralce 主外键约束,必须写外面,  not null  default 必须写在表内
--表外约束
alter table stu add constraint FK_bid foreign key(bid) references bj(bid);


insert into stu  values(1001,3,'杨','1-1月-10','福建');
insert into stu  values(1002,1,'杨贵妃',sysdate,'长安');    --sysdate取系统时间
insert into stu  values(1003,2,'艳艳',to_date('2005-5-5','yyyy-mm-dd'),'福建');

commit;         --插入,更新,删除都应该用commit提交才真正放到数据库里了。


select rownum,stu.sid,sname from stu where rownum=1;
select rownum,sid,sname from stu where rownum>=3;  --无输出结果  因为rownum只能用<或<=

select rowid from bj;
--number分页
select rownum,sid,sname,sborn from stu where rownum<=3;
--伪列实例化 as n
select sid,sname,sborn from (select rownum n,sid,sname,sborn from stu) where n between 7  and 9
-- 按年纪 降序 分页
select sid,sname,sborn from(select rownum n,sid,sname,sborn  from(select sid,sname,sborn from stu order by sborn)) where n between 4 and 6 

-- row_number()over(order by)  天生就有排序;
   --产生一个从1开始的连续的整数编号,,,查询输出的时候产生的

 select * from (select row_number()over(order by sborn) n , sid,sname,sborn from stu) where n between 4 and 6 ;

-- row_number()over(partition by order by)  天生就有排序;
--输出每个班年级最大的二个人
select * from(select row_number()over(partition by bid order by sborn) n, sid,bid,sname,sborn from stu )where n<=2;
... prompt'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值