MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表匯編_第1頁
MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表匯編_第2頁
MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表匯編_第3頁
MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表匯編_第4頁
MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表匯編_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、MySql Oracle SqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表MySql數(shù)據(jù)據(jù)類型數(shù)據(jù)類型描述字節(jié)推薦使用SMALLINNT整數(shù),從-322000到 +320000范圍2存儲相對比較小小的整數(shù)。比如如: 年紀,數(shù)數(shù)量INT整數(shù),從-200000000000 到到 +200000000000 范圍圍4存儲中等整數(shù) 例例如: 距離離BIGINT不能用SMALLLINT 或 INTT描述的超大大整數(shù)。8存儲超大的整數(shù)數(shù) 例如如: 科學/數(shù)學數(shù)據(jù)FLOAT單精度浮點型數(shù)數(shù)據(jù)4存儲小數(shù)數(shù)據(jù) 例如如:測量,溫溫度DOUBLE雙精度浮點型數(shù)數(shù)據(jù)8需要雙精度存儲儲的小數(shù)數(shù)據(jù)據(jù) 例如:科科學數(shù)據(jù)DECIM

2、ALL用戶自定義精度度的浮點型數(shù)數(shù)據(jù)變量;取決于精精度與長度以特別高的精度度存儲小數(shù)數(shù)數(shù)據(jù)。例如:貨幣數(shù)額,科科學數(shù)據(jù)CHAR固定長度的字符符串特定字符串長度度(高達2555字符)存儲通常包含預預定義字符串串的變量 例如: 定期航線,國國家或郵編VARCHARR具有最大限制的的可變長度的的字符串變量; 1 + 實際字符符串長度 (高達 2555 字符)存儲不同長度的的字符串值(高達一個特特定的最大限限度). 例如:名字字,密碼,短短文標簽TEXT沒有最大長度限限制的可變長長度的字符串串Variablle; 2 +聽 acctual strinng lenngth存儲大型文本數(shù)數(shù)據(jù) 例如: 新新

3、聞故事,產(chǎn)產(chǎn)品描述BLOB二進制字符串變量;2 + 實際字符串串長度存儲二進制數(shù)據(jù)據(jù) 例例如:圖片,附附件,二進制制文檔DATE以 yyyy-mm-ddd格式的日期期3存儲日期 例如:生日日,產(chǎn)品滿期期TIME以 hh:mmm:ss格式式的時間3存儲時間或時間間間隔 例如:報報警聲,兩時時間之間的間間隔,任務(wù)開開始/結(jié)束時時間DATETIMMEyyyy-mmm-ddhhh:mm:sss格式結(jié)合合日期和時間間8存儲包含日期和和時間的數(shù)據(jù)據(jù)例如:提醒的人,事事件TIMESTAAMPyyyy-mmm-ddhhh:mm:sss格式結(jié)合合日期和時間間4記錄即時時間例如如:事件提醒醒器,“最后后進入”的時

4、時間標記YEAR以 yyyy格格式的年份1存儲年份例如:畢業(yè)業(yè)年,出生年年ENUM一組數(shù)據(jù),用戶戶可從中選擇擇其中一個1或 2個字節(jié)節(jié)存儲字符屬性,只只能從中選擇擇之一例如:布爾量選擇擇,如性別SET一組數(shù)據(jù),用戶戶可從中選擇擇其中0,11或更多。從1到8字節(jié);取決于設(shè)置置的大小存儲字符屬性,可可從中選擇多多個字符的聯(lián)聯(lián)合。例如:多選項選擇擇,比如業(yè)余余愛好和興趣趣。Oracle數(shù)數(shù)據(jù)類型一、概述在在ORACLLE8中定義義了:標量(SSCALARR)、復合(CCOMPOSSITE)、引引用(REFFERENCCE)和LOOB四種數(shù)據(jù)據(jù)類型,下面面詳細介紹它它們的特性。二、標量(SCCALAR

5、)合法的標量類型與數(shù)據(jù)庫的列所使用的類型相同,此外它還有一些擴展。它又分為七個組:數(shù)字、字符、行、日期、行標識、布爾和可信。數(shù)字,它有三種基本類型-NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER可以描述整數(shù)或?qū)崝?shù),而PLS_INTEGER和BINARY_INTENER只能描述整數(shù)。NUMBER,是以十進制格式進行 HYPERLINK t _blank 存儲的,它便于 HYPERLINK t _blank 存儲,但是在計算上,系統(tǒng)會自動的將它轉(zhuǎn)換成為二進制進行運算的。它的定義方式是NUMBER(P,S),P是精度,最大38位,S是刻度范圍,可在-84.127間取

6、值。例如:NUMBER(5,2)可以用來存儲表示-999.99.999.99間的數(shù)值。P、S可以在定義是省略,例如:NUMBER(5)、NUMBER等;BINARY_INTENER用來描述不存儲在數(shù)據(jù)庫中,但是需要用來計算的帶符號的整數(shù)值。它以2的補碼二進制形式表述。循環(huán)計數(shù)器經(jīng)常使用這種類型。PLS_INTEGER和BINARY_INTENER唯一區(qū)別是在計算當中發(fā)生溢出時,BINARY_INTENER型的變量會被自動指派給一個NUMBER型而不會出錯,PLS_INTEGER型的變量將會發(fā)生錯誤。字符,包括CHAR、VARCHAR2(VARCHAR)、LONG、NCHAR和NVARCHAR2

7、幾種類型。CHAR,描述定長的字符串,如果實際值不夠定義的長度,系統(tǒng)將以空格填充。它的聲明方式如下CHAR(L),L為字符串長度,缺省為1,作為變量最大32767個字符,作為數(shù)據(jù)存儲在ORACLE8中最大為2000。VARCHAR2(VARCHAR),描述變長字符串。它的聲明方式如下VARCHAR2(L),L為字符串長度,沒有缺省值,作為變量最大32767個字節(jié),作為數(shù)據(jù)存儲在ORACLE8中最大為4000。在多字節(jié)語言環(huán)境中,實際存儲的字符個數(shù)可能小于L值,例如:當語言環(huán)境為中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)時,一個VARCHAR2(200)的數(shù)據(jù)列可

8、以保存200個英文字符或者100個漢字字符。LONG,在數(shù)據(jù)庫存儲中可以用來保存高達2G的數(shù)據(jù),作為變量,可以表示一個最大長度為32760字節(jié)的可變字符串。NCHAR、NVARCHAR2,國家字符集,與環(huán)境變量NLS指定的語言集密切相關(guān),使用方法和CHAR、VARCHAR2相同。行,包括RAW和LONG RAW兩種類型。用來存儲二進制數(shù)據(jù),不會在字符集間轉(zhuǎn)換。RAW,類似于CHAR,聲明方式RAW(L),L為長度,以字節(jié)為單位,作為數(shù)據(jù)庫列最大2000,作為變量最大32767字節(jié)。LONG RAW,類似于LONG,作為數(shù)據(jù)庫列最大存儲2G字節(jié)的數(shù)據(jù),作為變量最大32760字節(jié)。日期,只有一種類

9、型-DATE,用來存儲時間信息,站用7個字節(jié)(從世紀到秒),絕對沒有“千年蟲”問題。行標識,只有一種類型-ROWID,用來存儲“行標識符”,可以利用ROWIDTOCHAR函數(shù)來將行標識轉(zhuǎn)換成為字符。布爾,只有一種類型-BOOLEAN,僅僅可以表示TRUE、FALSE或者NULL。可信,只有一種類型-MLSLABEL,可以在TRUSTED ORACLE中用來保存可變長度的二進制標簽。在標準ORACLE中,只能存儲NULL值。三、復合(COMPOSITE) 標量類型是經(jīng)過預定義的,利用這些類型可以衍生出一些復合類型。主要有記錄、表。記錄,可以看作是一組標量的組合結(jié)構(gòu),它的聲明方式如下:TYPE r

10、ecord_type_name IS RECORD ( filed1 type1 NOT NULL :=expr1.filedn typen NOT NULL :=exprn )其中,record_type_name是記錄類型的名字。(是不是看著象CREATE TABLE?.)引用時必須定義相關(guān)的變量,記錄只是TYPE,不是VARIABLE。表,不是物理存儲數(shù)據(jù)的表,在這里是一種變量類型,也稱為PL/SQL表,它類似于C語言中的數(shù)組,在處理方式上也相似。它的聲明方式如下:TYPE table_type_name IS TABLE OF scalar_type INDEX BY BINARY_I

11、NTENER;其中,table_type_name是類型的名字,scalar_type是一種標量類型的類型聲明。引用時也必須定義相關(guān)的變量。表和數(shù)組不同,表有兩列,KEY和VALUE,KEY就是定義時聲明的BINARY_INTENER,VALUE就是定義時聲明的scalar_type。除了記錄和表之外,還有對象類型、集合(嵌套表和VARRAYS)等類型,這些將專門講解。四、引用(REFERENCE)在PL/SQL8.0之前,只有一種類型-REF CURSOR,也就是游標。它的定義較為簡單,CURSOR cursor_name IS select .from.;在PL/SQL8.0之后,引入了R

12、EF類型,它指向一個對象。這種類型將單獨講解。(等我弄明白再說,免得在高人面前.)五、LOB型LOB變量主要是用來存儲大量數(shù)據(jù)的數(shù)據(jù)庫字段,最大可以存儲4G字節(jié)的內(nèi)容(這么大,存VCD?,浪費?。?。主要有: CLOB:和ORACLE7中的LONG類型相似,存儲單字節(jié)字符數(shù)據(jù)。(別用來存中文喔。) NCLOB:用來存儲定寬多字節(jié)字符數(shù)據(jù)。(例如:存嘯傲江湖就挺好) BLOB:和LONG RAW相似,用來存儲無結(jié)構(gòu)的二進制數(shù)據(jù)。 BFILE:它用來允許ORACLE對數(shù)據(jù)庫外存儲的大型二進制文本進行只讀形式的訪問。 六、其他其實在完成對標量變量的理解之后,基本上可以應(yīng)付C/S模式下的常規(guī)數(shù)據(jù)庫應(yīng)用所

13、需了,后續(xù)的類型說實話,我玩了5年ORACLE,都很少用到。附:參考書ORACLE8 PL/SQL程序設(shè)計(ORACLE8 PL/SQL PROGRAMMING) ORACLE技術(shù)系列叢書 機械工業(yè)出版社注:本文所列舉的是PL/SQL當中可以定義的數(shù)據(jù)類型,并不是所有的類型都可以在建表時指定為列的數(shù)據(jù)類型SqlServver數(shù)據(jù)類類型數(shù)據(jù)類型 說明 bigint 整數(shù)數(shù)據(jù),從 2633 (9,223,3372,0336,8544,775,808) 到 26631 (9,2233,372,036,8854,7775,8077)。存儲大大小為 8字節(jié)。integerr 整數(shù)數(shù)據(jù),從 2311 (-

14、2,147,4483,6448) 到 2311 (2,147,4483,6447)。存儲大小為 44字節(jié)。smallinnt 整數(shù)數(shù)據(jù),從 32,7768 到 32,7667。存儲大大小為 2字節(jié)。tinyintt 整數(shù)數(shù)據(jù),從 0 到 2255。存儲儲大小為 11字節(jié)。bit 整數(shù)數(shù)據(jù),值為為 1 或 0。存儲大小為 11位。numericc (p, s) 固定精度和小數(shù)數(shù)的數(shù)字數(shù)據(jù)據(jù),取值范圍圍從 10038+11 到 1003811。p 變量指定定精度,取值值范圍從 11 到 388。s 變量指定定小數(shù)位數(shù),取取值范圍從 0 到 pp。存儲大小為 119字節(jié)。money 貨幣數(shù)據(jù)值,從從

15、 (263/100000) (9222,337,203,6685,4777.58008) 到 2631 (9222,3377,203,685,4477.58807),準準確度為貨幣幣單位的萬分分之一。存儲儲大小為 88字節(jié)。float 浮點數(shù)數(shù)據(jù),從從 1.779E +3308 到 1.79EE+308存儲大小為 88字節(jié)。real 浮點精度數(shù)字數(shù)數(shù)據(jù),從 3.40EE+38 到到 3.400E+38。存儲大小為 44字節(jié)。datetimme 日期和時間數(shù)據(jù)據(jù),從 17753 年 1 月 11 日到 99999 年年 12 月月 31 日日,準確度為為三百分之一一秒或 3.33 毫秒秒。值被圓

16、整整到 .0000、.0003 或 .007 毫毫秒增量。存儲為兩個 44 字節(jié)整數(shù)數(shù)。前 4個字節(jié)存儲儲早于或晚于于基日期 19900 年 1 月 11 日的天數(shù)數(shù)。基日期是是系統(tǒng)的參照照日期。不允允許 dattetimee 的值早于于 17533 年 1 月 1 日日。后 4個字節(jié)存儲儲一天之中的的具體時間,被被表示為從午午夜算起的毫毫秒數(shù)。秒數(shù)數(shù)的有效范圍圍是 0559。nationaal chaaracteer(n) Synonymm:nchaar(n) 固定長度的 UUnicodde 數(shù)據(jù),最最大長度為 4000 個字符。默默認長度 = 1。存儲儲大小(以字字節(jié)計)是輸輸入的字符數(shù)數(shù)

17、的兩倍。nationaal chaaracteer varrying(n) Synonymm:nvarrchar(n) 可變長度的 UUnicodde 數(shù)據(jù),長長度值范圍為為從 1 到到 40000 個字符。默默認長度 = 1。存儲儲大?。ㄒ宰肿止?jié)計)是輸輸入的字符數(shù)數(shù)的兩倍。ntext 可變長度的 UUnicodde 數(shù)據(jù),最最大長度為 (23002)/22 (5366,870,911) 個字符。存存儲大小(以以字節(jié)計)是是輸入的字符符數(shù)的兩倍。注意: 字符串函數(shù)中不再支持 ntext。 binary(n) 固定長度的二進進制數(shù)據(jù),最最大長度為 8000字節(jié)。默認認長度 = 1。存儲大小是固

18、定定的,是在類類型中聲明的的以字節(jié)為單單位的長度。varbinaary(n) 可變長度的二進進制數(shù)據(jù),最最大長度為 8000字節(jié)。默認認長度 = 1。存儲大小可變。它它表示值的長長度(以字節(jié)節(jié)為單位)。image 可變長度的二進進制數(shù)據(jù),最最大長度為 2301 (1,073,7741,8223) 字節(jié)節(jié)。存儲大小是值的的以字節(jié)為單單位的長度。uniqueiidentiifier 全局唯一標識符符 (GUIID)。存儲儲大小為 116字節(jié)。IDENTITTY (ss, i) 這是數(shù)據(jù)列的一一個屬性,而而不是一個獨獨特的數(shù)據(jù)類類型。只有整數(shù)數(shù)據(jù)類類型的數(shù)據(jù)列列可用于標識識列。一個表表只能有一個個標

19、識列??煽梢灾付ǚN子子和增量,但但不能更新列列。s (seedd) = 起起始值i(increement) = 增量量值ROWGUIDDCOL 這是數(shù)據(jù)列的一一個屬性,而而不是一個獨獨特的數(shù)據(jù)類類型。它是一一個表中使用用 uniqqueideentifiier 數(shù)據(jù)據(jù)類型定義的的列。一個表表只能有一個個 ROWGGUIDCOOL 列表SQL到Jaava數(shù)據(jù)類類型影射表SQL 數(shù)據(jù)類類型 JAVVA數(shù)據(jù)類型型CHARStringVARCHARRStringLONGVARRCHARStringNUMERICCjava.maath.BiigDeciimalDECIMALLjava.maath.Bii

20、gDeciimalBITBooleannTINYINTTByteSMALLINNTShortINTEGERRIntBIGINTLongREALFloatFLOATDoubleDOUBLEDoubleBINARYbyteVARBINAARYbyteLONGVARRBINARRYbyteDATEjava.sqql.DatteTIMEjava.sqql.TimmeTIMESTAAMPjava.sqql.TimmestammpJava到SQQL數(shù)據(jù)類型型影射表JAVA數(shù)據(jù)類類型SQL 數(shù)據(jù)類類型StringVARCHARR or LLONGVAARCHARRjava.maath.BiigDeciima

21、lNUMERICCBooleannBITByteTINYINTTShortSMALLINNTIntINTEGERRLongBIGINTFloatREALDoubleDOUBLEbyteVARBINAARY orr LONGGVARBIINARYjava.sqql.DatteDATE java.sqql.TimmeTIMEjava.sqql.TimmestammpTIMESTAAMP這里,大伙要注注意了,并不不是所有的數(shù)數(shù)據(jù)類型在各各種數(shù)據(jù)庫管管理系統(tǒng)中都都被支持。下下面,就幾種種常用的數(shù)據(jù)據(jù)類型之間的的轉(zhuǎn)化進行說說明:(1) CHAAR, VAARCHARR, 和 LLONGVAARCHARR

22、在SQL語言中中,有三種分分別表示不同同長度的字符符類型CHAAR, VAARCHARR, 和 LLONGVAARCHARR,在Javva/Jspp中并沒有相相應(yīng)的三種不不同的數(shù)據(jù)類類型與之一一一對應(yīng),JDDBC的處理理方法是將其其與Striing或者cchar對應(yīng)起來。在在實際編程中中不必對著三三種SQL數(shù)數(shù)據(jù)類型進行行區(qū)分,全部部將他們轉(zhuǎn)化化為Stinng或者chhar就就可以了。而而且通常使用用應(yīng)用的非常常普遍的Sttring類類型。我們還還可以利用SStringg類提供的方方法將一個SStringg對象轉(zhuǎn)化為為char,或者用用char為參數(shù)構(gòu)構(gòu)造一個Sttirng對對象。對于定長度的

23、SSQL數(shù)據(jù)類類型CHARR(n),當當從數(shù)據(jù)庫管管理系統(tǒng)中獲獲得的結(jié)果集集提取該類型型的數(shù)據(jù)時,JJDBC會為為其構(gòu)造一個個長度為n的的Strinng對象來代代表他,如果果實際的字符符個數(shù)不足n,系統(tǒng)會自自動為Strring對象象補上空格。當當向數(shù)據(jù)庫管管理系統(tǒng)寫入入的數(shù)據(jù)類型型應(yīng)該是CHHAR(n)時,JDBBC也會將該該Strinng對象的末末尾補上相應(yīng)應(yīng)數(shù)量的空格格。一般情況下,CCHAR, VARCHHAR, LLONGVAARCHARR和Striing之間可可以無差錯的的進行轉(zhuǎn)換。但但非常值得注注意的是LOONGVARRCHAR,這這種SQL的的數(shù)據(jù)類型有有時在數(shù)據(jù)庫庫中代表的數(shù)數(shù)

24、據(jù)可能有幾幾兆字節(jié)的大大小,超過了了Strinng對象的承承受范圍。JJDBC解決決的辦法是用用Java的的Inputt Streeam來接受受這種類型的的數(shù)據(jù)以后后我們回涉及及到。Innput SStreamm不僅支持AASCII,而且支持UUnicodde,我們可可以根據(jù)需要要進行選擇。(2) DECCIMAL 和 NUMMERIC SQL的DECCIMAL 和 NUMEERIC通常常用來表示需需要一定精度度的定點數(shù)。在在Java的簡簡單數(shù)據(jù)類型型中,沒有一一種類型與之之相對應(yīng)。但但從JDK11.1開始,Sunn公司在javva.matth.*包中中加入了一個個新的類BiigDeciimal,該該類的對象可可以與DECCIMAL 、NUMEERIC進行行轉(zhuǎn)換。另外,當從數(shù)據(jù)據(jù)庫管理系統(tǒng)統(tǒng)中讀取數(shù)據(jù)據(jù)時,還可以以用getSStringg()方法來來獲取DECCIMAL 和 NUMMERIC。(3) BINNARY, VARBIINARY, 和 LOONGVARRBINARRY 在編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論