oracle入门之基本数据类型

1、char(size)存放字符串,它最大可以存放2000个字符,是定长。

举例说明:

create table test1(name char(32));//test1表中的name字段最多存放32个字符,不足32个字符oracle会用空格补齐,如果超过会报错。

2、varchar2(size)存放字符串,它最大可以存放4000个字符,是变长。

举例说明:

create table test2(name varchar2(16));//test2表中的name字段最多存放16个字符,实际有几个字符就占几个字符的空间,如果超过会报错。

特别说明:如果我们的数据的长度是固定的,比如商品编号(8位),则应当使用char来存放,因为这样存取的速度就会提高。如果存放的数据长度是变化的,则使用varchar2来存放。

3、nchar(n)以Unicode编码来存放字符串,它最大可以存放2000个字符,是定长。

举例说明:

create table test3(name nchar(32));//与char类似,只是以Unicode编码存放字符串

4、nvarchar(n)以Unicode编码来存放字符串,它最大可以存放4000个字符,是变长。

举例说明:

create table test4(name nvarchar2(16));//与varchar2类似,只是以Unicode编码存放字符串

特别说明:nchar和nvarchar2与char和varchar2的区别在于,nchar和nvarchar2不论存放英文字符或中文字符都只占1个字符。如存放a和存放‘中‘都只占1个字符位。而char和varchar2存放a占1个字符而存放‘中‘则占2个字符。

5、clob字符型大对象,它最大可以存放8TB,是变长。

与字符型的char/varchar2/nchar/nvarchar2的使用方式一样。

6、blob二进制数据,可存放图片、声音,它最大可以存放8TB,是变长。

与字符型的char/varchar2/nchar/nvarchar2的使用方式一样。

注意:一般情况下很少使用数据库来存放媒体类文件,一般只使用数据库来记录媒体类文件的URL地址。如果考虑到文件的安全性,可以存放到数据库中来保存。

7、number可以存放整数,也可存放小数,是变长。

number(p,s)//p代表整数位,s代表小数位

保存数据范围:-1.0e-130至1.0e+126;保存在机器内部的范围:1~22bytes

特别说明:

有效位:从左到右,第一个非0数就是第一个有效位。

s>0精确到小数点右边s位,并四舍五入。然后检验有效位是否<=p

s<0精确到小数点左边s位,并四舍五入。然后检验有效位是否<=p+|s|

s=0等价于number(p)此时number表示整数。

说明:-1.0e-130(科学计数法):就是-1.0乘以10的-130次方

1.0e+126:就是1.0乘以10的126次方

举例说明:

number(5,2)

表示一个小数有5位有效数,2位小数。范围-999.99~999.99

如果数值超出了位数限制就会被截取多余的位数。但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。

number(5)<=>number(5,0)

表示一个五位整数,范围-99999~99999。

输入57523.316,真正保存的数据是57523

8、date,用于表示时间,(年/月/日/时/分/秒),是定长。

举例说明:

create table test5(birthday date);//添加时个要使用默认格式insert into test5 values(‘11-11月-11‘);如使用insert into test5 values(‘2011-11-11‘);则报错。

特别说明:oracle日期有默认格式为:DD-MON-YYYY,天-月-年;如果我们希望使用自己习惯的日期添加,也可以,但是需要借助oracle函数来添加。

时间: 2024-09-30 23:58:31

oracle入门之基本数据类型的相关文章

Oracle 建表常用数据类型的详解

创建表时,必须为表的各个列指定数据类型.如果实际的数据与该列的数据类型不相匹配,则数据库会拒绝保存.如为学生指定出生日期为"1980-13-31". 在Oracle中,常见的数据类型有: 字符串:字符串分为定长类型char和变长类型varchar2. 数字:整数 number(整数位),小数 number(总长度,小数位),只写number,表示无限制. 日期:date类型,可以保存年月日时分秒. 问题:Oracle中为什么字符串类型为varchar2,它与varchar有什么关系?

oracle入门(1)——安装oracle 11g x64 for windows

[本文简介] 最近因为一个项目的需要,从零学习起了oracle,现在把学到的东西记录分享一下. 首先是安装篇,在win8 装10G 一直失败,网上各种方法都试过了,最后不得不放弃,选择了11G. 11G的安装很简单,基本是“下一步”——“完成”的模式,本文只是介绍哪些步骤需要注意一下和里面相应名词的解释, 以后可能要用到这些信息. [安装典型步骤] 1.典型安装 这里需要记住被红圈圈起来的 “全局数据库名” 和 “管理口令” (1)全局数据库名:要与下面的SID区分开来,是数据库真正的唯一标识,

oracle入门(2)—— 使用图形工具navicat for oracle

[本文介绍] 本文将介绍如何使用图形工具navicat for oracle连接本地数据库 以及远程访问 服务器数据库. [下载地址] http://www.navicat.com.cn/download/navicat-for-oracle [11G版本访问本地数据库] 安装navicat for oracle——打开连接——弹出新建连接——输入如图所示 , 其中有几个地方需要注意的 (1)端口:因为是本地服务器,所以可用填入 loaclhost 或者是 127.0.0.1 (2)Servic

oracle入门(8)——实战:支持可变参数、多种条件、多个参数排序、分页的存储过程查询组件

[本文介绍] 学了好几天,由于项目需要,忙活了两天,写出了个小组件,不过现在还只能支持单表操作.也没考虑算法上的优化,查询速度要比hibernate只快了一点点,可能是不涉及多表查询的缘故吧,多表的情况下才更快. 经非专业的测试,在有分页的情况下,在300万条数据里面查询的时间保持在0.1秒内.相同查询条件+分页的情况下,hibernate 用时0.3秒内. 不分页的条件下,查出来的数据越多,时间越长,时间长的话,跟hibernate相相比就没什么优势了. [思路] 我的思路是从java传来”字

oracle入门(3)——oracle服务解释

[本文介绍] oracle不像mysql,安装后之后一个服务,如果mysql连接不上,打开其服务就行.oracle是有多个服务,哪些服务要开,哪些服务没必要开,对新手来说未必不是一个难点.下面对oracle的服务做一下总结. 以下内容来源于百度,发表该随笔只为备忘,感谢最先发表者(追溯不到). [oracle服务介绍] (1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数搜索据库.如果安装了一个数据库,它的缺省启动类型为自动.服务进程为ORACLE.EXE,参数文件i

oracle入门(4)——少而常用的命令

[本文介绍] 本文将介绍使用oracle的常用命令,不是”大全“,但少而实用. [命令介绍] 描述: 命令: [数据库]   (1)查看编码格式: select userenv('language') from dual; (2)设置编码格式为utf-8 (1) --先查看oracle数据库字符集:  select userenv('language') from dual; 查询结果: SIMPLIFIED CHINESE_CHINA.AL32UTF8 (2) --修改oracle数据库字符集

oracle入门(5)——java连接oracle数据库

[本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安装了oracle就有自带驱动了,路径在:安装目录\product\11.2.0\dbhome_1\jdbc\lib,下面有多个jar包,选择适合自己的一个(最简单的办法就是导入项目后看看能连接不,能连接的就是适合的驱动) 2.代码: 关于url:@后面是IP:端口,这两个不知道怎么查的请看博文:ht

oracle入门(7)——存储过程

[本文介绍] 熟悉了PL/SQL语法后,实现java调用oracle存储过程才是主要目的.本文将介绍如何写存储过程,java如何调用存储过程. [存储过程介绍] 抛开专业的描述,存储过程就是在数据库里面写了一些函数,我们在代码(如java)里面调用这些函数实现对数据库的操作,避免了数据库对SQL语句的解析,对于需要发送多条SQL语句才能完成的数据库操作功能来说,速度上升了一个档次.不过程序在操纵数据库这一块 的维护性会降低,因为存储过程是写在数据库,不是写在程序里. [如何写有能传值 并且 有返

oracle入门(6)——PL/SQL常用语法

[本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变量: ...... as 变量名 类型(长度) begin ...... 例如: (2)定义变量 ,类型 依赖其他变量的类型 例如: 这样,改了name的类型,returnValue类型也跟着改变. (3)自定义类型(类似C语言的结构体)每次只能拿一条数据,不然会的报错. 例如: (4)以“表”做为