Oracle 数据库新手指南(二) 数据范例

打印 上一主题 下一主题

主题 816|帖子 816|积分 2448

在上一篇文章中,我们探究了 Oracle 数据库的基础知识,包罗 Oracle 数据库的概述、与 MySQL 的主要区别,以及为什么选择使用 Oracle。如今,让我们更深入地了解 Oracle 数据库中的数据范例。
数据范例是构建数据库表和存储数据的基础。正确选择数据范例对于包管数据的准确性、提高查询服从以及优化存储空间至关紧张。在本文中,我们将介绍 Oracle 数据库中常用的几种数据范例,并探究它们的特点和适用场景。

一.数据范例

Oracle 数据库支持多种数据范例,用于存储不同范例的数据。以下是 Oracle 中一些常用的数据范例及其用途:
(1)字符串型

1.定长字符串 (CHAR)

描述: 长度固定的字符串范例,如果实际输入的字符少于界说的长度,则会用空格填充到界说的最大长度。如果没有指定长度,默以为1个字符。
示例:


  • CHAR(5) 可以存储 '男',效果为 '男 '(后面有四个空格填充)
  • ps:Oracle 中 CHAR 范例在默认非 Unicode 字符集,所以一个中文只占1个字符
  • CHAR(5) 可以存储 '12345'
  • CHAR(5) 可以存储 'abcde'
注释: 在 Oracle 中,一个中文字符占用3字节,一个英文字母或数字占用1字节。
2.变长字符串 (VARCHAR2, NVARCHAR2)



  • VARCHAR2: 变长字符串范例,根据实际内容的长度存储,按照 UTF-8 格式编码。
示例:


  • VARCHAR2(20) 存储 '张三',实际占用6字节(因为 '张三' 两个汉字占用了6字节,但实际存储空间不会填充空格,所以长度就是6字节)。
  • NVARCHAR2: 变长字符串范例,同样根据实际内容的长度存储,但是按照 Unicode 编码方式存储。
示例:


  • NVARCHAR2(20) 存储 '张三',实际占用4字节(因为 '张三' 两个汉字在 Unicode 中占用4字节)。
3.超长字符串 (LONG)



  • 描述: 用于存储非常长的字符串,最大可存储2GB的信息。
  • 留意: LONG 范例已被 Oracle 标记为过期,发起使用 CLOB 或 NCLOB 来替换。
这些字符串范例为不同的应用场景提供了灵活性。在计划数据库时,应根据实际需求选择合适的字符串范例。

(2).数字范例

1.NUMBER(p, s)



  • p: 有效数字位数,即整数部分加上小数部分的总位数。
  • s: 小数位数,即小数点后的位数。
  • 最大存储: Oracle 支持最多38位的有效数字。
示例:


  • NUMBER(3, 1) 可以存储 21.5 或 31.0。
  • 这表现整数部分最多可以有2位数字(3 - 1),小数部分有1位数字。
2.INTEGER



  • 描述: 整数范例,用于存储整数值。
  • 最大存储: 最大可以存储38位的整数。
  • 特点: 当插入的数值包罗小数时,Oracle 会主动对其举行四舍五入处理。
通过以上两种范例的介绍,您可以根据实际需求选择合适的数字范例。NUMBER 范例提供更大的灵活性,可以同时处理整数和小数;而 INTEGER 范例适用于只需要存储整数值的环境,并会在插入非整数值时举行四舍五入。
(3)日期时间范例

1.DATE



  • 描述: 日期时间范例,可以存储从公元 1 年 1 月 1 日到 9999 年 12 月 31 日之间的日期和时间信息,精度到秒。
示例:


  • 2024-03-28 12:45:32
2.TIMESTAMP



  • 描述: 时间戳范例,可以存储日期和时间信息,精度更高,可以记录到毫秒甚至更细粒度的时间单元。
示例:


  • 2024-02-12 10:32:45.456
通过使用 DATE 和 TIMESTAMP 范例,您可以根据需要存储不同精度的日期时间信息。DATE 范例适合一般用途,而 TIMESTAMP 范例更适合需要高精度时间记录的应用场景。

(4)二进制范例: LOB (Large Object)

1.CLOB (Character Large Object)



  • 描述: 用于存储大量文本数据的范例,最大长度可达4GB。
  • 用途: 适合存储大量的文本信息,如文章、文档等。
2.BLOB (Binary Large Object)



  • 描述: 用于存储二进制数据的范例,可以存储图像、音频、视频文件等。
  • 用途: 适合存储多媒体文件或其他二进制数据。
3.其他不常用二进制范例



  • NCLOB:用于存储Unicode字符大对象。
  • BFILE:用于存储外部二进制文件的引用。
LOB 范例提供了存储大量数据的能力,无论是文本还是二进制数据。通过使用 CLOB 和 BLOB,您可以有效地处理大型文件或数据集。

(5)其他不常用数据范例



  • BOOLEAN:用于存储布尔值(true/false)。
  • RAW:用于存储原始字节数据。
  • INTERVAL:用于存储时间隔断。
示例

以下是一个使用不同数据范例的表的例子:
  1. CREATE TABLE employee (
  2.     id NUMBER(5) PRIMARY KEY,
  3.     name VARCHAR2(50),
  4.     hire_date DATE,
  5.     salary NUMBER(10, 2),
  6.     department_id NUMBER(3),
  7.     photo BLOB
  8. );
复制代码
在这个例子中,我们界说了一个名为 employee 的表,其中包罗了不同范例的数据列。
留意事项



  • 选择合适的范例:根据数据的实际需要选择合适的数据范例。
  • 考虑存储空间:不同范例的数据占用的空间不同,合理选择可以节省存储空间。
  • 性能考量:不同范例的数据在查询和处理时的性能也不同,选择合适的范例有助于提升性能。

好了,我们今天一起探索了 Oracle 数据库中的各种数据范例。从数字到文字,再到图片和视频,每一种数据范例都有它的用武之地。选择合适的数据范例就像是挑选合适的工具一样紧张,它能让你的工作事半功倍。
希望今天的分享对你有效,无论你是刚打仗 Oracle 的新手,还是已经有一定经验的老手,都能从中受益。记住,选择正确的数据范例能让我们的数据库更加高效和结实。
感谢你的阅读,我们下篇文章再见!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表