0%

Oracle数据类型、约束、ROWNUM实现分页查询

转载自友情链接

课堂笔记

Oracle 11g 安装

超详细的安装教程:https://blog.csdn.net/lidapang123/article/details/88928035

Oracle中的数据类型

Oracle中的数据类型:字符型数值型日期型LOB类型(BLOB、CLOB)

  • 字符类型
    (1)以固定长度存放字符串:CHAR(n)、NCHAR(n)

    说明:CHAR(10),存一个字符串 ’abc’;NCHAR以UNICODE存储每个字符

    区别:n的最大取值:char(n),n的最大取值是2000;nchar(n),n的最大取值是1000.

    (2)以可变长度存储字符串 VARCHAR2(n)、NVARCHAR2(n)

    说明:VARCHAR2(10),存一个字符串’abc’,NVARCHAR2 以UNICODE编码存储每个字符

    区别:n的最大取值:VARCHAR2(n),n的最大取值是4000;NVARCHAR2(n),n的最大取值是2000.
  • 数值型
    从输入的数值划分:整数小数

    (1)NUMBER类型

    a.表示小数

    举例: NUMBER(5,2),总共5个有效数字,小数点后保留2位,例如:123.45

    b.表示整数 NUMBER(P)

    举例:NUMBER(5),5位数的整数
  • 日期型
    • (1)DATE型

      格式:YYYY-MM-DD HH:MM:SS

      精确程度:
    • (2)TIMESTAMP

      精确程度:0.000001秒

      但使用较少
  • 大对象类型(Large OBject)
    • (1)BLOB类型 (Binary Large OBject)

      二进制形式存储

      举例:图片、音频、视频

      最大存储4G字节
    • (2)CLOB类型 (Character Large Object)

      字符串形式存储

      举例:简历、新闻、文章

      最大存储4G字节

      数据类型总结

数据 应采用的类型
字符串 Nvarchar2、varchar2
数值型 Number
日期型 Date
图片、音频、视频 BLOB
超过千字的文本 CLOB

约束

6种常用约束

约束 关键字
主键约束 primary key
外键约束 foreign key
非空约束 not null
唯一值约束 unique
默认约束 default ‘默认值’
Check约束 举例:check(gender=’男’ or gender=’女’);
2个添加约束的时机
  • (1)创建时添加约束
    1
    2
    3
    4
    create table 表名 
    (列名1 数值类型1 约束1,
    列名2 数值类型2 约束2
    );
  • (2)创建表之后,使用alter table命令
    • 添加主键约束
      1
      2
      ALTER TABLE 表名
      ADD CONSTRAINT 主键名 PRIMARY KEY (主键列);
    • 添加外键约束
      1
      2
      ALTER TABLE 表名
      ADD CONSTRAINT 外键名 Foreign Key(从表的外键列) References 主表名(主表的主键列);

使用PL/SQL Developer图形界面添加约束

ROWID和ROWNUM

  • ROWID
    说明:RowID可以理解为Oracle为每一张表添加的一个隐藏列

    表中的每一行(记录),都有一个行地址,ROWID用于查询该行地址。

    任意两行的ROWID不同。

    ROWID只能查询,不能修改删除
  • ROWNUM
    说明:对于查询结果表,rownum能返回每一行在结果表的序号。

    结果表中的第一行rownum为1、第n行rownum为n。

    Rownum实现分页查询

功能:从表X中,查出按字段F排序后的 第M到第N条记录
命令公式:

1
2
3
4
select * from
(select e.*, rownum rn from
(select * from 表X order by 字段F 排序方式) e)
where rn>=M and rn<=N;
点这里请我吃个小蛋糕吧~~

Welcome to my other publishing channels