MySqlOracleSqlServer三大数据库的数据类型列表_第1页
MySqlOracleSqlServer三大数据库的数据类型列表_第2页
MySqlOracleSqlServer三大数据库的数据类型列表_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MySql Oracle SqlServer三大数据库的数据类型列表MySql数据类型数据类型描述字节推荐使用SMALLINT整数,从-32000 到 +32000X围2存储相对比较小的整数。比如:年纪,数量INT整数,从-2000000000到 +2000000000 X 围4存储中等整数例如:距稱BIGINT不能用SMALLINT或INT描 述的超大整数。8存储超大的整数例如:科学/数学数据FLOAT单精度浮点型数据4存储小数数据例如:测量,温度DOUBLE双精度浮点型数据8-要双精度存储的小数数据例如:科学数据DECIMAL用户自定义精度的浮点型 数据变量;取决于精 度与长度以特别高的精

2、度存储小数数据。例如:货币数 额,科学数据CHAR固定长度的字符串特定字符串长度(高达255字符)存储通常包含预定义字符串的变量例如:定期 航线,国家或邮编VARCHAR具有最大限制的可变长度 的字符串变量;1 +实际 字符串长度(高 达255字符)存储不同长度的字符串值(高达一个特定的最 大限度)例如:名字,密码,短文标签TEXT没有最大长度限制的可变 长度的字符串Variable; 2 + 聽 actual string length存储大型文本数据例如:新闻故事,产品描述BLOB二进制字符串变量;2 +实际 字符串长度存储二进制数据例如:图片,附件,二进制文档DATE以yyyy-mm-d

3、d格式的日期3存储日期例如:土日,产品满期TIME以hh:mm: ss格式的时间3存储时间或时间间隔例如:报警声,两时间之间 的间隔,任务开始/结束时间DATETIMEyyyy-mm-ddhh: mm: ss 格式 结合日期和时间8存储包含日期和时间的数据例如:提醒的人,事 件TIMESTAMPyyyy-mm-ddhh: mm: ss 格式 结合日期和时间4记录即时时间例如:事件提醒器,“最后进入” 的时间标记YEAR以yyyy格式的年份1存储年份例如:毕业年,出生年ENUM一组数据,用户可从中选择 其中一个1或2个字节存储字符属性,只能从中选择之一例如:布尔量 选择,如性别SET一组数据,用

4、户可从中选择 其中0, 1或更多。从1到8字节; 取决于设置的大 小存储字符属性,可从中选择多个字符的联合。 例如:多选项选择,比如业余爱好和兴趣。Oracle数据类型、概述在0RACLE8中定义了:标量(SCALAR)、复合(POSITE)、引用(REFERENCE)和LOB四种数据类型,下面详细 介绍它们的特性。二、标量(SCALAR)合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、 日期、行标识、布尔和可信。数字、它有三种基本类型一NUMBER、PLS_INTEGER和BINARY INTENER。NUMBER可以描述整数或实数,而 PLS

5、_INTEGER 和 BINARY.INTENER 只能描述整数。NUMBER.是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运 算的。它的定义方式是NUMBER (P, S), P是精度,最大38位,S是刻度X围,可在-84. 127间取值。例如:NUMBER (5, 2)可以用来存储表示-999. 99. 999. 99间的数值。P、S可以在定义是省略,例如:NUMBER (5)、NUMBER等;BINARY INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。它以2的补码二进制形式 表述。循环计数器经常使用这种类型。PLS I

6、NTEGER和BINARY ZV7E松7?唯一区别是在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派 给一个NUMBER型而不会出错,PLS_INTEGER型的变量将会发生错误。字符、包括 CHAR, VARCHAR2 (VARCHAR). LONG、NCHAR 和 NVARCHAR2 几种类型。CHAR、描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。它的声明方式如下CHAR (L), L 为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在0RACLE8中最大为2000。VARCHAR2 (VARCHAR),描述变长字符串。它的声明方式如

7、下VARCHAR2 (L), L为字符串长度,没有缺省值,作 为变量最大32767个字节,作为数据存储在0RACLE8中最大为4000。在多字节语言环境中,实际存储的字符个数可 能小于L值,例如:当语言环境为中文(SIMPLIFIEDCHINESE-CHINA. ZHS16GBK)时,一个VARCHAR2 (200)的数据 列可以保存200个英文字符或者100个汉字字符。LONG,在数据库存储中可以用来保存高达2G的数据,作为变量,可以表示一个最大长度为32760字节的可变 字符串。NCHAR. NVARCHAR2,国家字符集,与环境变 NLS指定的语言集密切相关,使用方法和CHAR, VAR

8、CUAR2相同。 行、包括RAW和LONG RAW两种类型。用来存储二进制数据,不会在字符集间转换。R刖;类似于CHAR,声明方式RAW(L), L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767 字节。LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节。日期、只有一种类型一DATE,用来存储时间信息,站用7个字节(从世纪到秒),绝对没有“千年虫”问题。行标识、只有一种类型一ROWID,用来存储''行标识符”,可以利用ROWIDTOCHAR函数来将行标识转换成为字 符。布尔、只有一种类型一BOOLEAN,仅仅可

9、以表示TRUE、FALSE或者NULL。可信、只有一种类型一MLSLABEL,可以在TRUSTED ORACLE中用来保存可变长度的二进制标签。在标准ORACLE 中,只能存储NULL值。三、复合(POSITE)标疑类型是经过预定义的,利用这些类型可以衍生出一些复合类型。主要有记录、表。记录,可以看作是一组标量的组合结构,它的声明方式如下:TYPE record_type name IS RECORD(filedl typel NOT NULL : =exprlfiledn typen NOT NULL : =exprn)其中,record_type name是记录类型的名字。(是不是看着象C

10、REATE TABLE?)引用时必须定义相关的变量,记录只是TYPE,不是VARIABLE。表,不是物理存储数据的表,在这里是一种变量类型,也称为PL/SQL表,它类似于C语言中的数组,在处理 方式上也相似。它的声明方式如下:TYPE table_type_name IS TABLE OF scalar type INDEX BY BINARY_INTENER;其中,table_type name是类型的名字,scalar type是一种标量类型的类型声明。引用时也必须定义相关的 变量。表和数组不同,表有两列,KEY和VALUE, KEY就是定义时声明的BINARY_INTENER, VALU

11、E就是定义时声明的 scalar_typeo除了记录和表之外,还有对象类型、集合(嵌套表和VARRAYS)等类型,这些将专门讲解。四、引用(REFERENCE)在PL/SQL8. 0之前,只有一种类型一REF CURSOR,也就是游标。它的定义较为简单,CURSOR cursor_name IS selectfrom;在PL/SQL8. 0之后,引入了 REF类型,它指向一个对象。这种类型将单独讲解。(等我弄明白再说,免得在高 人面前)五、L0B型LOB变量主要是用来存储大量数据的数据库字段,最大可以存储4G字节的内容(这么大,存VCD?,浪费!)。 主要有:CLOB:和ORACLE7中的LO

12、NG类型相似,存储单字节字符数据。(别用来存中文喔。)NCLOB:用来存储定宽多字节字符数据。(例如:存啸傲江湖就挺好)BLOB:和LONG RAW相似,用来存储无结构的二进制数据。BFILE:它用来允许ORACLE对数据库外存储的大型二进制文本进行只读形式的访问。六、其他其实在完成对标量变量的理解之后,基本上可以应付C/S模式下的常规数据库应用所需了,后续的类型说实话, 我玩了 5年0RACLE,都很少用到。附:参考书«ORACLE8 PL/SQL程序设计(WRACLE8 PL/SQL PROGRAMMING) ORACLE技术系列丛书 机械工业 注:本文所列举的是PL/SQL当中

13、可以定义的数据类型,并不是所有的类型都可以在建表时指定为列的数据类 型SqlServer数据类型数据类型说明bigint整数数据,从-263 ( - 9,223,372,036,854,775,808)到 263 - 1 (9.223.372,036,854,775,807) 存储 大小为8字节.integer養数数据,从-231 (-2.147,483.648)到 231 - 1 (2.147.483,647)。存储大小为4字节.smallint整数数据,从32.768到32.767。存储大小为2字节。tinyint整数数据,从0到255。存储大小为1字节bit養数数据,值为1或0。存储大小

14、为1位。numeric (p. s)固定精度和小数的数字数据,取值X围从-1038+1到 0381。卩变量指定精度,取值X国从1到38。 s变指定小数位数,取值X围从0到p存储大小为19字节。money赞币数据值,从( 2飞3/10000) (-922.337,203,685,477. 5808)到 263 - 1(922,337.203,685,477.5807),准磽度为贷币单位的万分之一。存储大小为8字节。float浮点数数据,从-L 79E +308到1.79E+308 存储大小为8字节.real浮点精度数字数据,从-3.40E+38到3.40E+38。存储大小为4字节.datetim

15、e日期和时间数据,从1753年1月1日到9999年12月31日,准确度为三百分之一秒或3. 33亳秒。 值被圆整到.000. 003或.007毫秒增量。存储为两个4字节整数。前4个字节存储早于或晚于基日期1900年1月1日的天数。基日期是系统 的参照日期。不允许datetime的值早于1753年1月1日。后4个字节存储一天之中的具体时问,被 表示为从午夜算起的毫秒数。秒数的有效X围長0-59.national character(n)Synonym:nchar(n)固定长度的Unicode数据,最大长度为4000个字符。默认长度=1。存储大小(以字节计)是输入的字 符数的两倍。national

16、 character varying(n)Synonym:nvarchar(n)可爽长度的Unicode数据,长度值X围为从1到4000个字符。默认长度=1存储大小(以字节计)長 输入的字符数的两倍。ntext可变长度的Unicode数据,最大长度为(230-2)/2(536,870,911)个字符.存储大小(以字节计)是输 入的字符数的两倍。注意:字符串函数中不再支持ntext.binary(n)固定长度的二进制数据,最大长度为8000字节。獣认长度=1.存储大小是固定的,是在类型中声明的以字节为单位的长度。varbinary(n)可变长度的二进制数据,最大长度为8000字节。獣认长度=1.

17、存储大小可变。它表示值的长度(以字节为单位)image可变长度的二进制数据,最大长度为2"30- 1 (1,073,741,823)字节。存储大小是值的以字节为单位的长度。uniqueidentifier全局唯一标识符(GUID) o存储大小为16字节。IDENTITY (s. i)这是数据列的一个属性,而不是一个独特的数据类型.只有整数数据类型的数据列可用于标识列。一个表只能有一个标识列。可以指定种子和增量,但不能更新列。 s (seed)=起始值i(increment)=增量值ROWGUIDCOL这是数据列的一个属性,而不是一个独特的数据类型。它是一个表中使用uniqueiden

18、tifier数据类型定义 的列.一个表只能有一个ROWGUIDCOL列表SQL到Java数据类型影射表SQL数据类型JAVA数据类型CHARStringVARCI1ARStringLONGVARCHARStringNUMERICjava. math BigDecimalDECIMALjava. math BigDecimalBITBooleanTINYINTByteSMALLINTShortINTEGERIntBIG1NTLongREALFloatFLOATDoubleDOUBLEDoubleBINARYbyteVARB1NARYbyteLONGVARBINARYbyteDATEjava. s

19、ql. DateTIMEjava. sql. TimeTIMESTAMPjava. sql.TimestampJava到SQL数据类型影射表JAVA数据类型SQL数据类型StringVARCI1AR or LONGVARCHARjava. math BigDecimalNUMERICBooleanBITByteTINYINTShortSMALLINTIntINTEGERLongBIGINTFloatREALDoubleDOUBLEjava sql. DateDATEjava sql. TimeTIMEjava. sql. TimestampTIMESTAMP这里,大伙要注意了,并不是所有的数据

20、类型在各种数据库管理系统中帮被支持。下面,就几种常用的数据类型之问的转化进行说明:(1) CHAR, VARCHAR.和 LONGVARCHAR在SQL语言中,有三种分别表示不同长度的字符类型CHAR. VARCHAR,和LONGVARCHAR,在Java/Jsp中并没有相应的三种不同的数据 类型与之一一对应,JDBC的处理方法是将其与String或者chart对应起来。在实际编程中不必对着三种SQL数据类型进行区分,全 部将他们转化为Sting或者chart就可以了。而且通常使用应用的非常普遍的String类型。我们还可以利用String类提供的方法诲 个String对象转化为chart,或

21、者用chart为参数构遗一个Stirng对象。对于定长度的SQL数据类型CHAR(n),当从数据库管理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长度为n的St 昭对象来代表他,如果实际的宇符个数不足系统会自动为String对象补上空格。当向数据库管理系统写入的数据类型应该 是CHAR(n)时,JDBC也会将该String对象的末尾补上相应数量的空格。一般情况下,CHAR. VARCHAR, LONGVARCHAR和String之问可以无差错的进行转换。但非常值得注意的是LONGVARCHAR.这种SQL的数 据类型有时在数据库中代表的数据可能有几兆字节的大小,超过了 Stri

22、ng对象的険受X围。JDBC解决的办法是用Ja迫的Input Str cam来接受这种类型的数据以后我们回涉及到0 Input Stream不仅支持ASCII.而且支持Unicode,我们可以根据需要进行选择。(2) DECIMAL 和 NUMERICSQL的DECIMAL和NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK1.1开始,Sun公司在java. math. 包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL . NUMERIC进行转换。另外,当从数据库管理系统中读取数据时,还可以用getString0方法来获取DECIMAL和NUMERIC。(3) BINARY. VARBINARY,和 LONGVARBINARY在编程时无须箱确区分这三种SQL数据类型,JDBC将他们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论