2022年MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx

上传人:Che****ry 文档编号:12802082 上传时间:2022-04-26 格式:DOCX 页数:9 大小:107.80KB
返回 下载 相关 举报
2022年MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx_第1页
第1页 / 共9页
2022年MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx》由会员分享,可在线阅读,更多相关《2022年MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源MySql Oracle SqlServer三大数据库的数据类型列表MySql 数据类型数据类型描述字节举荐使用SMALLINT整数,从 -32000到2储备相对比较小的整数;INT+32000范畴整 数 , 从 -20000000004比如 :年纪,数量储备中等整数欢迎下载精品学习资源到 +2000000000范畴BIGINT不 能 用 SMALLINT或INT描述的超大整数;例如 :距离8储备超大的整数例如 :科学/ 数学数据欢迎下载精品学习资源FLOAT单精度浮点型数据4储备小数数据例如 : 测量,温度 DOUBLE双精度浮点型数据8需要双精度储备的小数数据例如: 科学数据欢

2、迎下载精品学习资源DECIMAL用户自定义精度的浮点型数据变量 ; 取决于精度与长度以特殊高的精度储备小数数据;例如: 货币数额,科学数据欢迎下载精品学习资源CHAR固定长度的字符串特定字符串长度 高达 255 字符 储备通常包含预定义字符串的变量例如 :定期航线,国家或邮编欢迎下载精品学习资源VARCHAR具有最大限制的可变长度的字符串TEXT没有最大长度限制的可变长度的字符串变量 ; 1 + 实际字符串长度 高达 255 字符 Variable;2+ 聽actual string length储备不同长度的字符串值 高达一个特定的最大限度 .例如 : 名字,密码,短文标签储备大型文本数据例

3、如 :新闻故事,产品描述欢迎下载精品学习资源BLOB二进制字符串变量; 2 +实际字符串长度储备二进制数据例如 : 图片,附件,二进制文档欢迎下载精品学习资源DATE以 yyyy-mm-dd格式的日期3储备日期例如 : 生日,产品满期欢迎下载精品学习资源TIME以 hh:mm:ss格式的时间3储备时间或时间间隔例如 : 报警声, 两时间之间的间隔,任务开头/ 终止时间欢迎下载精品学习资源DATETIMEyyyy-mm-ddhh:mm:ss格式结合日期和时间TIMESTAMPyyyy-mm-ddhh:mm:ss格式结合日期和时间8储备包含日期和时间的数据例如 : 提示的人,大事4记录即时时间例如

4、:大事提示器, “最终进入 ”的时间标记欢迎下载精品学习资源YEAR以 yyyy格式的年份1储备年份例如 : 毕业年,产生年欢迎下载精品学习资源ENUM一组数据, 用户可从中选择其中一个1 或 2 个字节储备字符属性,只能从中选择之一例如 : 布尔量选择,如性别欢迎下载精品学习资源SET一组数据, 用户可从中选择其中 0 , 1 或更多;从 1 到 8 字节 ;取决于设置的大小储备字符属性,可从中选择多个字符的联合;例如 : 多项项选择,比如业余爱好和爱好;欢迎下载精品学习资源Oracle数据类型一、概述在 ORACLE8中定义了:标量(SCALAR)、复合( COMPOSITE)、引用( R

5、EFERENC)E 和 LOB四种数据类型,下面详细介绍它们的特性;二、标量( SCALAR)合法的标量类型与数据库的列所使用的类型相同,此外它仍有一些扩展;它又分为七个组:数字、字符、行、日期、行标识、布尔和可信;数字,它有三种基本类型-NUMBER、PLS_INTEGER和 BINARY_INTENER;NUMBER 可以描述整数或实数,而PLS_INTEGER和 BINARY_INTENER只能描述整数;NUMBER,是以十进制格式进行储备 的,它便于 储备 ,但是在运算上,系统会自动的将它转换成为二进制进行运算的;它的定义方式是NUMBER( P, S), P 是精度,最大 38 位,

6、 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、VA

7、RCHAR2( VARCHAR)、LONG、NCHAR和 NVARCHAR2几种类型; CHAR,描述定长的字符串,假照实际值不够定义的长度,系统将以空格填充;它的声明方式如下CHAR( L),L为字符串长度,缺省为1,作为变量最大 32767 个字符,作为数据储备在ORACLE8中最大为 2000;VARCHAR2(VARCHAR),描述变长字符串;它的声明方式如下VARCHAR2( L), L 为字符串长度,没有缺省值,作为变量最大 32767 个字节,作为数据储备在ORACLE8中最大为 4000;在多字节语言环境中,实际储备的字符个数可能小于 L 值,例如:当语言环境为中文(SIMPL

8、IFIED CHINESE_CHINA.ZHS16G)BK时,一个 VARCHAR2( 200)的数据列可以储存 200 个英文字符或者 100 个汉字字符;LONG,在数据库储备中可以用来储存高达2G 的数据,作为变量,可以表示一个最大长度为32760 字节的可变字符串;NCHAR、NVARCHAR2,国家字符集,与环境变量NLS指定的语言集亲热相关,使用方法和CHAR、VARCHAR2相同;行,包括 RAW 和 LONG RAW两种类型;用来储备二进制数据,不会在字符集间转换;RAW,类似于 CHAR,声明方式RAW( L), L 为长度,以字节为单位,作为数据库列最大2000 ,作为变量

9、最大32767 字节;LONG RAW,类似于 LONG,作为数据库列最大储备2G 字节的数据,作为变量最大32760 字节;日期,只有一种类型 -DATE,用来储备时间信息,站用7 个字节(从世纪到秒) ,确定没有 “千年虫 ”问题;行标识,只有一种类型 -ROWID,用来储备 “行标识符 ”,可以利用 ROWIDTOCHAR函数来将行标识转换成为字符;布尔,只有一种类型 -BOOLEAN,仅仅可以表示 TRUE、FALSE或者 NULL;可信,只有一种类型 -MLSLABEL,可以在 TRUSTED ORACL中E 用来储存可变长度的二进制标签;在标准ORACLE中,只能储备 NULL 值

10、;三、复合( COMPOSITE)标量类型是经过预定义的,利用这些类型可以衍生出一些复合类型;主要有记录、表;记录,可以看作是一组标量的组合结构,它的声明方式如下:TYPE record_type_name IS RECORD filed1 type1 NOT NULL : =expr1.filedn typen NOT NULL : =exprn)其中, record_type_name 是记录类型的名字; (是不是看着象 CREATE TABL?E )引用时必需定义相关的变量,记录只是 TYPE,不是 VARIABLE;表,不是物理储备数据的表,在这里是一种变量类型,也称为PL/SQL 表

11、,它类似于 C 语言中的数组,在处理方式上也相像;它的声明方式如下:欢迎下载精品学习资源TYPE table_type_name IS TABLE OF scalar_type INDEX BY BINARY_INTEN;ER其中,table_type_name 是类型的名字, scalar_type 是一种标量类型的类型声明;引用时也必需定义相关的变量;欢迎下载精品学习资源表和数组不同,表有两列,KEY 和 VALUE, KEY 就是定义时声明的BINARY_INTENE,Rscalar_type ;VALUE 就是定义时声明的欢迎下载精品学习资源除了记录和表之外,仍有对象类型、集合(嵌套表

12、和VARRAYS)等类型,这些将特地讲解;四、引用( REFERENC)E在 PL/SQL8.0之前,只有一种类型 -REF CURSO,R也就是游标;它的定义较为简洁, CURSOR cursor_name IS select .from. ;.在 PL/SQL8.0之后,引入了REF类型,它指向一个对象;这种类型将单独讲解;(等我弄明白再说,免得在高人面前)五、 LOB型LOB变量主要是用来储备大量数据的数据库字段,最大可以储备4G 字节的内容(这么大,存VCD?,铺张!);主要有:CLOB:和 ORACLE7中的 LONG 类型相像,储备单字节字符数据;(别用来存中文喔; ;)NCLOB

13、:用来储备定宽多字节字符数据;(例如:存啸傲江湖就挺好)BLOB:和 LONG RAW相像,用来储备无结构的二进制数据;BFILE:它用来答应 ORACLE对数据库外储备的大型二进制文本进行只读形式的拜望;六、其他其实在完成对标量变量的懂得之后,基本上可以应对 C/S 模式下的常规数据库应用所需了,后续的类型说实话, 我玩了 5 年 ORACLE,都很少用到;附:参考书 ORACLE8 PL/SQL程序设计( ORACLE8 PL/SQL PROGRAMMING) ORACLE技术系列丛书机械工业出版社注:本文所列举的是PL/SQL 当中可以定义的数据类型,并不是全部的类型都可以在建表时指定为

14、列的数据类型SqlServer数据类型数据类型bigint说明整数数据,从 263 9,223,372,036,854,775,808储备大小为 8 字节;到 263 1 9,223,372,036,854,775,807;整数数据,从 231 -2,147,483,648到 2311 2,147,483,647;integer储备大小为 4 字节;smallint整数数据,从 32,768到 32,767 ;储备大小为 2 字节;tinyint整数数据,从 0 到 255 ;储备大小为 1 字节;整数数据,值为1 或 0 ;bit储备大小为 1 位;固定精度和小数的数字数据, 取值范畴从 1

15、038+1到 10381 ;p 变量指定精度, 取值范畴从 1 到numeric p, s38 ;s 变量指定小数位数,取值范畴从0 到 p ;储备大小为 19 字节;money货币数据值,从263/10000 922,337,203,685,477.5807922,337,203,685,477.5808到 2631,精确度为货币单位的万分之一;储备大小为8 字节;欢迎下载精品学习资源float浮点数数据,从1.79E +308到 1.79E+308储备大小为 8 字节;欢迎下载精品学习资源欢迎下载精品学习资源real浮点精度数字数据,从3.40E+38到 3.40E+38;储备大小为 4

16、字节;欢迎下载精品学习资源日期和时间数据, 从 1753年 1 月 1 日到 9999年 12月 31日,精确度为三百分之一秒或3.33毫秒;值被圆整到 .000、.003或 .007毫秒增量;欢迎下载精品学习资源datetime储备为两个 4 字节整数;前 4 个字节储备早于或晚于 基日期 1900年 1 月 1 日的天数;基日期是系统的参照日期;不答应datetime的值早于1753年 1 月 1 日;后 4 个字节储备一天之中的详细时间,被表示为从午夜算起的毫秒数;秒数的有效范畴是0 59 ;欢迎下载精品学习资源欢迎下载精品学习资源national characternSynonym:n

17、charn固定长度的 Unicode数据,最大长度为4000个字符;默认长度= 1 ;储备大小(以字节计)是输入的字符数的两倍;欢迎下载精品学习资源欢迎下载精品学习资源national character varyingnSynonym:nvarcharn可变长度的 Unicode数据, 长度值范畴为从1 到 4000个字符; 默认长度= 1 ;储备大小 (以字节计) 是输入的字符数的两倍;欢迎下载精品学习资源欢迎下载精品学习资源ntextbinaryn可变长度的 Unicode数据,最大长度为2302/2 536,870,911个字符;储备大小(以字节计)是输入的字符数的两倍;留意:字符串函

18、数中不再支持ntext;固定长度的二进制数据,最大长度为8000字节;默认长度= 1 ;储备大小是固定的,是在类型中声明的以字节为单位的长度;欢迎下载精品学习资源varbinaryn可变长度的二进制数据,最大长度为8000字节;默认长度= 1 ;储备大小可变;它表示值的长度(以字节为单位);欢迎下载精品学习资源欢迎下载精品学习资源image可变长度的二进制数据,最大长度为2301 1,073,741,823字节;储备大小是值的以字节为单位的长度;欢迎下载精品学习资源uniqueidentifier全局唯独标识符GUID ;储备大小为 16 字节;这是数据列的一个属性,而不是一个特殊的数据类型;

19、欢迎下载精品学习资源IDENTITY s, i只有整数数据类型的数据列可用于标识列;一个表只能有一个标识列;可以指定种子和增量,但不能更新列;s seed =起始值iincrement =增量值欢迎下载精品学习资源ROWGUIDCOL这是数据列的一个属性,而不是一个特殊的数据类型;它是一个表中使用uniqueidentifier数据类型定义的列;一个表只能有一个ROWGUIDCOL列欢迎下载精品学习资源表 SQL 到 Java 数据类型影射表SQL数据类型JAVA数据类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDe

20、cimalDECIMALjava.math.BigDecimal BITBooleanTINYINTByteSMALLINTShortINTEGERIntBIGINTLongREALFloatFLOATDoubleDOUBLEDoubleBINARYbyteVARBINARYbyteLONGVARBINARYbyteDATEjava.sql.DateTIMEjava.sql.TimeTIMESTAMPjava.sql.TimestampJava 到 SQL 数据类型影射表JAVA数据类型SQL数据类型StringVARCHAR or LONGVARCHARjava.math.BigDecima

21、lNUMERICBooleanBITByteTINYINT欢迎下载精品学习资源ShortSMALLINTIntINTEGERLongBIGINTFloatREALDoubleDOUBLEbyteVARBINARY or LONGVARBINARYjava.sql.DateDATEjava.sql.TimeTIMEjava.sql.TimestampTIMESTAMP这里,大伙要留意了,并不是全部的数据类型在各种数据库治理系统中都被支持;下面,就几种常用的数据类型之间的转化进行说明:( 1)CHAR, VARCHAR,和 LONGVARCHAR在 SQL 语言中,有三种分别表示不同长度的字符类型

22、CHAR,VARCHAR,和 LONGVARCHAR,在 Java/Jsp 中并没有相应的三种 不同的数据类型与之一一对应,JDBC 的处理方法是将其与 String 或者 char 对应起来;在实际编程中不必对着三种SQL 数据类型进行区分,全部将他们转化为Sting 或者 char 就可以了;而且通常使用应用的特殊普遍的String 类型;我们仍可以利用String 类供应的方法将一个String 对象转化为 char, 或者用 char 为参数构造一个 Stirng 对象;对于定长度的SQL数据类型 CHARn,当从数据库治理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长

23、度为n 的 St ring对象来代表他,假照实际的字符个数不足n , 系统会自动为 String对象补上空格;当向数据库治理系统写入的数据类型应当是 CHARn时, JDBC也会将该 String对象的末尾补上相应数量的空格;一般情形下, CHAR,VARCHAR,LONGVARCHAR和 String 之间可以无差错的进行转换;但特殊值得留意的是LONGVARCHAR, 这种 SQL 的数据类型有时在数据库中代表的数据可能有几兆字节的大小,超过了String 对象的承担范畴; JDBC 解决的方法是用 Java 的 InputStream 来接受这种类型的数据 以后我们回涉及到 ;Input

24、Stream 不仅支持 ASCII, 而且支持 Unicode ,我们可以依据需要进行选择;( 2)DECIMAL 和 NUMERICSQL 的 DECIMAL和 NUMERIC通常用来表示需要确定精度的定点数;在Java 的简洁数据类型中,没有一种类型与之相对应;但从JDK1.1 开头, Sun 公司在 java.math.* 包中加入了一个新的类BigDecimal ,该类的对象可以与DECIMAL、NUMERIC进行转换; 另外,当从数据库治理系统中读取数据时,仍可以用getString方法来猎取 DECIMAL和 NUMERIC;( 3)BINARY, VARBINARY, 和 LON

25、GVARBINARY在编程时无须精确区分这三种SQL 数据类型, JDBC 将他们统一影射为 byte ;其中 LONGVARBINAR和Y LONGVARCHA相R似,可以代表几兆字节的数据,超出数组的承担范畴;解决的方法照旧是用Input Stream来接受数据;( 4)BIT代表一个二进制位的 BIT 类型被 JDBC 影射为 boolean 型;( 5)TINYINT, SMALLINT, INTEGER,和 BIGINTSQL 语言的 TINYINT,SMALLINT,INTEGER,和 BIGINT 分别代表 8 位、 16 位、 32 位、 64 位的数据;他们分别被影射为Jav

26、a 的byte,short,int, 和 long( 6)REAL,FLOAT,和 DOUBLESQL 定义了 REAL,FLOAT,DOUBLE 来支持浮点数; JDBC 将 REAL 影射到 Java 的 float, 将 FLOAT,DOUBLE影射到 java 的 dou ble ;( 7)DATE,TIME,和 TIMESTAMPSQL 定义了三种和日期相关的数据类型; DATE 代表年、月、日, TIME 代表时、分、秒, TIMESTAMP 结合了 DATE 和 TIME 的全部信息,而且增加了更加精确的时间计量单位;在 java 的标准类库中, java.util.* 包中的 Date 类用来表示日期和时间;但是该类和 SQL 中的 DATE, TIME, 和 TIMESTAMP 直接影射关系并不清晰;并且,该类也不支持 TIMESTAMP 的精确时间计量单位;因此, Sun 公司在 java.sql.* 中为 java.util.Date 增加了三个子类: java.sql.Date ,java.sql.Time ,java.sql.Timestamp ,分别与 SQL 中的三个日期数据类型相对应;欢迎下载精品学习资源欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁