版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MySqlOracleSqlServer三大数据库的数据类型列表MySql数据类型数据类型描述字节举荐使用SMALLINT整数,从-32000到+32000范畴2储备相对比较小的整数。比如:年纪,数量INT整数,从-2000000000到+2000000000范畴4储备中等整数例如:距离BIGINT不能用SMALLINT或INT描述的超大整数。8储备超大的整数例如:科学/数学数据FLOAT单精度浮点型数据4储备小数数据 例如:测量,温度DOUBLE双精度浮点型数据8需要双精度储备的小数数据例如:科学数据DECIMAL用户自定义精度的浮点型数据变量;取决于精度与长度以专门高的精度储备小数数据。例如:货币数额,科学数据CHAR固定长度的字符串特定字符串长度(高达255字符)储备通常包含预定义字符串的变量例如:定期航线,国家或VARCHAR具有最大限制的可变长度的字符串变量;1+实际字符串长度(高达255字符)储备不同长度的字符串值(高达一个特定的最大限度).例如:名字,密码,短文标签TEXT没有最大长度限制的可变长度的字符串Variable;2+聽 actualstringlength储备大型文本数据例如:新闻故事,产品描述BLOB二进制字符串变量;2+实际字符串长度储备二进制数据例如:图片,附件,二进制文档DATE以yyyy-mm-dd格式的日期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一组数据,用户可从中选择其中0,1或更多。从1到8字节;取决于设置的大小储备字符属性,可从中选择多个字符的联合。例如:多选项选择,比如业余爱好和爱好。■ ■Wy卜口MaOracle数据类型一、概述在0RACLE8中定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性。二、 标量(SCALAR)合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。数字,它有三种差不多类型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER能够描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整数。NUMBER,是以十进制格式进行储备的,它便于储备,然而在运算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,最大38位,S是刻度范畴,可在-84...127间取值。例如:NUMBER(5,2)能够用来储备表示-999.99...999.99间的数值。P、S能够在定义是省略,例如:NUMBER(5)、NUMBER等;BINARY_INTENER用来描述不储备在数据库中,然而需要用来运算的带符号的整数值。它以2的补码二进制形式表述。循环计数器经常使用这种类型。PLS_INTEGER和BINARY_INTENER唯独区别是在运算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而可不能出错,PLS_INTEGER型的变量将会发生错误。字符,包括CHAR、VARCHAR2(VARCHAR)、LONG、NCHAR和NVARCHAR2几种类型。CHAR,描述定长的字符串,假如实际值不够定义的长度,系统将以空格填充。它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据储备在ORACLE8中最大为2000。VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值,作为变量最大32767个字节,作为数据储备在ORACLE8中最大为4000。在多字节语言环境中,实际储备的字符个数可能小于L值,例如:当语言环境为中文(SIMPLIFIEDCHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列能够储存200个英文字符或者100个汉字字符。LONG,在数据库储备中能够用来储存高达2G的数据,作为变量,能够表示一个最大长度为32760字节的可变字符串。NCHAR、NVARCHAR2,国家字符集,与环境变量NLS指定的语言集紧密相关,使用方法和CHAR、VARCHAR2相同。行,包括RAW和LONGRAW两种类型。用来储备二进制数据,可不能在字符集间转换。RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。LONGRAW,类似于LONG,作为数据库列最大储备2G字节的数据,作为变量最大32760字节。日期,只有一种类型--DATE,用来储备时刻信息,站用7个字节(从世纪到秒),绝对没有“千年虫"问题。行标识只有一种类型--ROWID,用来储备"行标识符”,能够利用ROWIDTOCHAR函数来将行标识转换成为字符。布尔,只有一种类型--BOOLEAN,仅仅能够表示TRUE、FALSE或者NULL。可信,只有一种类型--MLSLABEL,能够在TRUSTEDORACLE中用来储存可变长度的二进制标签。在标准ORACLE中,只能储备NULL值。三、 复合(COMPOSITE)标量类型是通过预定义的,利用这些类型能够衍生出一些复合类型。要紧有记录、表。记录,能够看作是一组标量的组合结构,它的声明方式如下:TYPErecord_type_nameISRECORD(filed1type1[NOTNULL][:=expr1]filedntypen[NOTNULL][:=exprn])其中,record_type_name是记录类型的名字。(是不是看着象CREATETABLE?......)引用时必须定义相关的变量,记录只是TYPE,不是VARIABLEo表,不是物理储备数据的表,在那个地点是一种变量类型,也称为PL/SQL表,它类似于C语言中的数组,在处理方式上也相似。它的声明方式如下:TYPEtable_type_nameISTABLEOFscalar_typeINDEXBYBINARY_INTENER;其中,table_type_name是类型的名字,scalar_type是一种标量类型的类型声明。引用时也必须定义相关的变量。表和数组不同,表有两列,KEY和VALUE,KEY确实是定义时声明的BINARY_INTENER,VALUE确实是定义时声明的scalar_type。除了记录和表之外,还有对象类型、集合(嵌套表和VARRAYS)等类型,这些将专门讲解。四、引用(REFERENCE)在PL/SQL8.0之前,只有一种类型--REFCURSOR,也确实是游标。它的定义较为简单,CURSORcursor_nameISselect from ;在PL/SQL8.0之后,引入了REF类型,它指向一个对象。这种类型将单独讲解。(等我弄明白再说,免得在高人面前五、LOB型LOB变量要紧是用来储备大量数据的数据库字段,最大能够储备4G字节的内容(这么大,存VCD?,白费!)。要紧有:CLOB:和ORACLE7中的LONG类型相似,储备单字节字符数据。(别用来存中文喔。。。)NCLOB:用来储备定宽多字节字符数据。(例如:存《啸傲江湖》就挺好)BLOB:和LONGRAW相似,用来储备无结构的二进制数据。BFILE:它用来承诺ORACLE对数据库外储备的大型二进制文本进行只读形式的访问。六、其他事实上在完成对标量变量的明白得之后,差不多上能够应对C/S模式下的常规数据库应用所需了,后续的类型说实话,我玩了5年ORACLE,都专门少用到。附:参考书《ORACLE8PL/SQL程序设计》(《ORACLE8PL/SQLPROGRAMMING》)ORACLE技术系列丛书机械工业出版社注:本文所列举的是PL/SQL当中能够定义的数据类型,并不是所有的类型都能够在建表时指定为列的数据类型SqlServer数据类型数据类型说明bigint整数数据,从-2人63(-9,223,372,036,854,775,808)到2人63-1(9,223,372,036,854,775,807)。储备大小为8字节。integer整数数据,从-2八31(-2,147,483,648)到2人31-1(2,147,483,647)。储备大小为4字节。smallint整数数据,从-32,768到32,767。储备大小为2字节。tinyint整数数据,从0到255。储备大小为1字节。bit整数数据,值为1或0。储备大小为1位。numeric(p,s)固定精度和小数的数字数据,取值范畴从-10人38+1到10人38-1.p变量指定精度,取值范畴从1到38。s变量指定小小数位数,取值范畴从0到p。储备大小为19字节。money货币数据值,从(-2人63/10000)(-922,337,203,685,477.5808)到2人63-1(922,337,203,685,477.5807),准确度为货币单位的万分之一。储备大小为8字节。浮点数数据,从-1.79E+308到1.79E+308floatfloat储备大小为8储备大小为8字节。浮点精度数字数据,从-3.40E+38到3.40E+38。real储备大小为4字节。日期和时刻数据,从1753年1月1日到real储备大小为4字节。日期和时刻数据,从1753年1月1日到9999年12月31日,准确度为三百分之一秒或3.33毫秒。值被圆整到.000..003或.007毫秒增量。datetime储备为两个4字节整数。前4个字节储备早于或晚于基日期1900年1月1日的天数。基日期是系统的参照日期。不承诺datetime的值早于1753年1月1日.后4个字节储备一天之中的具体时刻,被表示为从午夜算起的毫秒数。秒数的有效范畴是0-59.nationalcharacter(n)Synonym:nchar(n)固定长度的Unicode数据,最大长度为4000个字符。默认长度=1。储备大小(以字节计)是输入的字符数的两倍。nationalcharactervarying(n)可变长度的Unicode数据,长度值范畴为从1到4000个字符.默认长度=1.储备大小(以字节计)是输入的字符数的两倍。Synonym:nvarchar(n)可变长度的可变长度的Unicode数据,最大长度为(2人30-2)/2(536,870,911)个字符。储备大小(以字节计)是输入的字符数的两倍。ntextntext<注意:字符串函数中不再支持<注意:字符串函数中不再支持ntext.固定长度的二进制数据,最大长度为8000字节。默认长度=1。binary(n)binary(n)储备大小是固定的,是在类型中声明的以字节为单位的长度。可变长度的二进制数据,最大长度为储备大小是固定的,是在类型中声明的以字节为单位的长度。可变长度的二进制数据,最大长度为8000字节。默认长度=1。varbinary(n)varbinary(n)储备大小可变。它表示值的长度(以字节为单位)。可变长度的二进制数据,最大长度为储备大小可变。它表示值的长度(以字节为单位)。可变长度的二进制数据,最大长度为2八30-1(1,073,741,823)字节。imageimage储备大小是值的以字节为单位的长度。储备大小是值的以字节为单位的长度。uniqueidentifier全局唯独标识符uniqueidentifier全局唯独标识符(GUID)。储备大小为16字节。这是数据列的一个属性,而不是一个专门的数据类型。IDENTITY[(s,i)]只有整数数据类型的数据列可用于标识列。一个表只能有一个标识列。能够指定种子和增量,但不能更新列。s(seed)=起始值这是数据列的一个属性,而不是一个专门的数据类型。IDENTITY[(s,i)]只有整数数据类型的数据列可用于标识列。一个表只能有一个标识列。能够指定种子和增量,但不能更新列。s(seed)=起始值i(increment)=增量值这是数据列的一个属性,而不是一个专门的数据类型。它是一个表中使用uniqueidentifier数据类型定义的列。一个表只能有一个ROWGUIDCOL列表SQL到Java数据类型影射表SQL数据类型JAVA数据类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITBooleanTINYINTByteSMALLINTShortINTEGERIntBIGINTLongREALFloatFLOATDoubleDOUBLEDoubleBINARYbyte[]VARBINARYbyte[]LONGVARBINARYbyte[]DATEjava.sql.DateTIMEjava.sql.TimeTIMESTAMPjava.sql.TimestampJava到SQL数据类型影射表JAVA数据类型SQL数据类型StringVARCHARorLONGVARCHARjava.math.BigDecimalNUMERICBooleanBITByteTINYINTIntINTEGERLongBIGINTFloatREALDoubleDOUBLEbyte[]VARBINARYorLONGVARBINARYjava.sql.DateDATEjava.sql.TimeTIMEjava.sql.TimestampTIMESTAMP那个地点,大伙要注意了,并不是所有的数据类型在各种数据库治理系统中都被支持。下面,就几种常用的数据类型之间的转化进行说明:(1) CHAR,VARCHAR,和LONGVARCHAR在SQL语言中,有三种分别表示不同长度的字符类型CHAR,VARCHAR,和LONGVARCHAR,在Java/Jsp中并没有相应的三种不同的数据类型与之一一对应,JDBC的处理方法是将其与String或者char[]对应起来。在实际编程中不必对着三种SQL数据类型进行区分,全部将他们转化为Sting或者char[]就能够了。而且通常使用应用的专门普遍的String类型。我们还能够利用String类提供的方法将一个String对象转化为char[],或者用char[]为参数构造一个Stirng对象。关于定长度的SQL数据类型CHAR(n),当从数据库治理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长度为n的String对象来代表他,假如实际的字符个数不足'n',系统会自动为String对象补上空格。当向数据库治理系统写入的数据类型应该是CHAR(n)时,JDBC也会将该String对象的末尾补上相应数量的空格。一样情形下,CHAR,VARCHAR,LONGVARCHAR和String之间能够无差错的进行转换。但专门值得注意的是LONGVARCHAR,这种SQL的数据类型有时在数据库中代表的数据可能有几兆字节的大小,超过了String对象的承担范畴。JDBC解决的方法是用Java的InputStream来同意这种类型的数据[以后我们回涉及到]。InputStream不仅支持ASCII,而且支持Unicode,我们能够依照需要进行选择。(2) DECIMAL和NUMERICSQL的DECIMAL和NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK1.1开始,Sun公司在java.math.*包中加入了一个新的类BigDecimal,该类的对象能够与DECIMAL、NUMERIC进行转换。另外,当从数据库治理系统中读取数据时,还能够用getString()方法来猎取decimal和numeric。(3) BINARY,VA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产安全检查标准及问题记录单
- 用户反馈处理结果告知8篇范本
- 全体职工守法诚信承诺函(7篇)
- 项目经理团队协作从理论到实践指导书
- 严格遵循规则操作承诺书7篇
- 公共场所卫生清洁维护保证承诺书6篇
- 新疆伊宁市第七中学重点达标名校2026届初三热身考试语文试题含解析
- 广东省深圳市福田片区重点中学2025-2026学年初三第二次检测试题英语试题试卷含解析
- 人才招聘录用管理诚信承诺书范文6篇
- 徐州市重点中学2026届初三下学期第二次周练数学试题试卷含解析
- 医院行风建设应知应会考核试题及答案
- 猪常见重大疫病防控
- 脱硝催化剂安装施工方案1026
- GB 24790-2009电力变压器能效限定值及能效等级
- 苏教版六年级科学下册单元测试卷及答案(全册)
- 火电工程项目建设程序和内容课件
- 桃树优质丰产栽培技术培训课件
- 干部任免审批表填写范本
- 红色绘本小故事爱国教育-长征路上的红小丫课件
- 陕旅版六年级下册小学英语 Unit 3 单元全套教学课件
- 数控机床电气线路维修课件汇总全书电子教案完整版课件最全幻灯片(最新)课件电子教案幻灯片
评论
0/150
提交评论