




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MySqlOracleSqlServer三大數(shù)據(jù)庫的數(shù)據(jù)類型列表MySql數(shù)據(jù)類型數(shù)據(jù)類型描述字節(jié)舉薦使用SMALLINT整數(shù),從-32000到+32000范疇2儲備相對比較小的整數(shù)。比如:年紀(jì),數(shù)量INT整數(shù),從-2000000000到+2000000000范疇4儲備中等整數(shù)例如:距離BIGINT不能用SMALLINT或INT描述的超大整數(shù)。8儲備超大的整數(shù)例如:科學(xué)/數(shù)學(xué)數(shù)據(jù)FLOAT單精度浮點(diǎn)型數(shù)據(jù)4儲備小數(shù)數(shù)據(jù) 例如:測量,溫度DOUBLE雙精度浮點(diǎn)型數(shù)據(jù)8需要雙精度儲備的小數(shù)數(shù)據(jù)例如:科學(xué)數(shù)據(jù)DECIMAL用戶自定義精度的浮點(diǎn)型數(shù)據(jù)變量;取決于精度與長度以專門高的精度儲備小數(shù)數(shù)據(jù)。例如:貨幣數(shù)額,科學(xué)數(shù)據(jù)CHAR固定長度的字符串特定字符串長度(高達(dá)255字符)儲備通常包含預(yù)定義字符串的變量例如:定期航線,國家或VARCHAR具有最大限制的可變長度的字符串變量;1+實(shí)際字符串長度(高達(dá)255字符)儲備不同長度的字符串值(高達(dá)一個(gè)特定的最大限度).例如:名字,密碼,短文標(biāo)簽TEXT沒有最大長度限制的可變長度的字符串Variable;2+聽 actualstringlength儲備大型文本數(shù)據(jù)例如:新聞故事,產(chǎn)品描述BLOB二進(jìn)制字符串變量;2+實(shí)際字符串長度儲備二進(jìn)制數(shù)據(jù)例如:圖片,附件,二進(jìn)制文檔DATE以yyyy-mm-dd格式的日期3儲備日期例如:生日,產(chǎn)品滿期TIME以hh:mm:ss格式的時(shí)刻3儲備時(shí)刻或時(shí)刻間隔 例如:報(bào)警聲,兩時(shí)刻之間的間隔,任務(wù)開始/終止時(shí)刻DATETIMEyyyy-mm-ddhh:mm:ss格式結(jié)合日期和時(shí)刻8儲備包含日期和時(shí)刻的數(shù)據(jù)例如:提醒的人,事件TIMESTAMPyyyy-mm-ddhh:mm:ss格式結(jié)合日期和時(shí)刻4記錄即時(shí)時(shí)刻例如:事件提醒器,''最后進(jìn)入〃的時(shí)刻標(biāo)記YEAR以yyyy格式的年份1儲備年份 例如:畢業(yè)年,出生年ENUM一組數(shù)據(jù),用戶可從中選擇其中一個(gè)1或2個(gè)字節(jié)儲備字符屬性,只能從中選擇之一例如:布爾量選擇,如性別SET一組數(shù)據(jù),用戶可從中選擇其中0,1或更多。從1到8字節(jié);取決于設(shè)置的大小儲備字符屬性,可從中選擇多個(gè)字符的聯(lián)合。例如:多選項(xiàng)選擇,比如業(yè)余愛好和愛好?!?■Wy卜口MaOracle數(shù)據(jù)類型一、概述在0RACLE8中定義了:標(biāo)量(SCALAR)、復(fù)合(COMPOSITE)、引用(REFERENCE)和LOB四種數(shù)據(jù)類型,下面詳細(xì)介紹它們的特性。二、 標(biāo)量(SCALAR)合法的標(biāo)量類型與數(shù)據(jù)庫的列所使用的類型相同,此外它還有一些擴(kuò)展。它又分為七個(gè)組:數(shù)字、字符、行、日期、行標(biāo)識、布爾和可信。數(shù)字,它有三種差不多類型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER能夠描述整數(shù)或?qū)崝?shù),而PLS_INTEGER和BINARY_INTENER只能描述整數(shù)。NUMBER,是以十進(jìn)制格式進(jìn)行儲備的,它便于儲備,然而在運(yùn)算上,系統(tǒng)會自動(dòng)的將它轉(zhuǎn)換成為二進(jìn)制進(jìn)行運(yùn)算的。它的定義方式是NUMBER(P,S),P是精度,最大38位,S是刻度范疇,可在-84...127間取值。例如:NUMBER(5,2)能夠用來儲備表示-999.99...999.99間的數(shù)值。P、S能夠在定義是省略,例如:NUMBER(5)、NUMBER等;BINARY_INTENER用來描述不儲備在數(shù)據(jù)庫中,然而需要用來運(yùn)算的帶符號的整數(shù)值。它以2的補(bǔ)碼二進(jìn)制形式表述。循環(huán)計(jì)數(shù)器經(jīng)常使用這種類型。PLS_INTEGER和BINARY_INTENER唯獨(dú)區(qū)別是在運(yùn)算當(dāng)中發(fā)生溢出時(shí),BINARY_INTENER型的變量會被自動(dòng)指派給一個(gè)NUMBER型而可不能出錯(cuò),PLS_INTEGER型的變量將會發(fā)生錯(cuò)誤。字符,包括CHAR、VARCHAR2(VARCHAR)、LONG、NCHAR和NVARCHAR2幾種類型。CHAR,描述定長的字符串,假如實(shí)際值不夠定義的長度,系統(tǒng)將以空格填充。它的聲明方式如下CHAR(L),L為字符串長度,缺省為1,作為變量最大32767個(gè)字符,作為數(shù)據(jù)儲備在ORACLE8中最大為2000。VARCHAR2(VARCHAR),描述變長字符串。它的聲明方式如下VARCHAR2(L),L為字符串長度,沒有缺省值,作為變量最大32767個(gè)字節(jié),作為數(shù)據(jù)儲備在ORACLE8中最大為4000。在多字節(jié)語言環(huán)境中,實(shí)際儲備的字符個(gè)數(shù)可能小于L值,例如:當(dāng)語言環(huán)境為中文(SIMPLIFIEDCHINESE_CHINA.ZHS16GBK)時(shí),一個(gè)VARCHAR2(200)的數(shù)據(jù)列能夠儲存200個(gè)英文字符或者100個(gè)漢字字符。LONG,在數(shù)據(jù)庫儲備中能夠用來儲存高達(dá)2G的數(shù)據(jù),作為變量,能夠表示一個(gè)最大長度為32760字節(jié)的可變字符串。NCHAR、NVARCHAR2,國家字符集,與環(huán)境變量NLS指定的語言集緊密相關(guān),使用方法和CHAR、VARCHAR2相同。行,包括RAW和LONGRAW兩種類型。用來儲備二進(jìn)制數(shù)據(jù),可不能在字符集間轉(zhuǎn)換。RAW,類似于CHAR,聲明方式RAW(L),L為長度,以字節(jié)為單位,作為數(shù)據(jù)庫列最大2000,作為變量最大32767字節(jié)。LONGRAW,類似于LONG,作為數(shù)據(jù)庫列最大儲備2G字節(jié)的數(shù)據(jù),作為變量最大32760字節(jié)。日期,只有一種類型--DATE,用來儲備時(shí)刻信息,站用7個(gè)字節(jié)(從世紀(jì)到秒),絕對沒有“千年蟲"問題。行標(biāo)識只有一種類型--ROWID,用來儲備"行標(biāo)識符”,能夠利用ROWIDTOCHAR函數(shù)來將行標(biāo)識轉(zhuǎn)換成為字符。布爾,只有一種類型--BOOLEAN,僅僅能夠表示TRUE、FALSE或者NULL??尚?,只有一種類型--MLSLABEL,能夠在TRUSTEDORACLE中用來儲存可變長度的二進(jìn)制標(biāo)簽。在標(biāo)準(zhǔn)ORACLE中,只能儲備NULL值。三、 復(fù)合(COMPOSITE)標(biāo)量類型是通過預(yù)定義的,利用這些類型能夠衍生出一些復(fù)合類型。要緊有記錄、表。記錄,能夠看作是一組標(biāo)量的組合結(jié)構(gòu),它的聲明方式如下:TYPErecord_type_nameISRECORD(filed1type1[NOTNULL][:=expr1]filedntypen[NOTNULL][:=exprn])其中,record_type_name是記錄類型的名字。(是不是看著象CREATETABLE?......)引用時(shí)必須定義相關(guān)的變量,記錄只是TYPE,不是VARIABLEo表,不是物理儲備數(shù)據(jù)的表,在那個(gè)地點(diǎn)是一種變量類型,也稱為PL/SQL表,它類似于C語言中的數(shù)組,在處理方式上也相似。它的聲明方式如下:TYPEtable_type_nameISTABLEOFscalar_typeINDEXBYBINARY_INTENER;其中,table_type_name是類型的名字,scalar_type是一種標(biāo)量類型的類型聲明。引用時(shí)也必須定義相關(guān)的變量。表和數(shù)組不同,表有兩列,KEY和VALUE,KEY確實(shí)是定義時(shí)聲明的BINARY_INTENER,VALUE確實(shí)是定義時(shí)聲明的scalar_type。除了記錄和表之外,還有對象類型、集合(嵌套表和VARRAYS)等類型,這些將專門講解。四、引用(REFERENCE)在PL/SQL8.0之前,只有一種類型--REFCURSOR,也確實(shí)是游標(biāo)。它的定義較為簡單,CURSORcursor_nameISselect from ;在PL/SQL8.0之后,引入了REF類型,它指向一個(gè)對象。這種類型將單獨(dú)講解。(等我弄明白再說,免得在高人面前五、LOB型LOB變量要緊是用來儲備大量數(shù)據(jù)的數(shù)據(jù)庫字段,最大能夠儲備4G字節(jié)的內(nèi)容(這么大,存VCD?,白費(fèi)?。Ro有:CLOB:和ORACLE7中的LONG類型相似,儲備單字節(jié)字符數(shù)據(jù)。(別用來存中文喔。。。)NCLOB:用來儲備定寬多字節(jié)字符數(shù)據(jù)。(例如:存《嘯傲江湖》就挺好)BLOB:和LONGRAW相似,用來儲備無結(jié)構(gòu)的二進(jìn)制數(shù)據(jù)。BFILE:它用來承諾ORACLE對數(shù)據(jù)庫外儲備的大型二進(jìn)制文本進(jìn)行只讀形式的訪問。六、其他事實(shí)上在完成對標(biāo)量變量的明白得之后,差不多上能夠應(yīng)對C/S模式下的常規(guī)數(shù)據(jù)庫應(yīng)用所需了,后續(xù)的類型說實(shí)話,我玩了5年ORACLE,都專門少用到。附:參考書《ORACLE8PL/SQL程序設(shè)計(jì)》(《ORACLE8PL/SQLPROGRAMMING》)ORACLE技術(shù)系列叢書機(jī)械工業(yè)出版社注:本文所列舉的是PL/SQL當(dāng)中能夠定義的數(shù)據(jù)類型,并不是所有的類型都能夠在建表時(shí)指定為列的數(shù)據(jù)類型SqlServer數(shù)據(jù)類型數(shù)據(jù)類型說明bigint整數(shù)數(shù)據(jù),從-2人63(-9,223,372,036,854,775,808)到2人63-1(9,223,372,036,854,775,807)。儲備大小為8字節(jié)。integer整數(shù)數(shù)據(jù),從-2八31(-2,147,483,648)到2人31-1(2,147,483,647)。儲備大小為4字節(jié)。smallint整數(shù)數(shù)據(jù),從-32,768到32,767。儲備大小為2字節(jié)。tinyint整數(shù)數(shù)據(jù),從0到255。儲備大小為1字節(jié)。bit整數(shù)數(shù)據(jù),值為1或0。儲備大小為1位。numeric(p,s)固定精度和小數(shù)的數(shù)字?jǐn)?shù)據(jù),取值范疇從-10人38+1到10人38-1.p變量指定精度,取值范疇從1到38。s變量指定小小數(shù)位數(shù),取值范疇從0到p。儲備大小為19字節(jié)。money貨幣數(shù)據(jù)值,從(-2人63/10000)(-922,337,203,685,477.5808)到2人63-1(922,337,203,685,477.5807),準(zhǔn)確度為貨幣單位的萬分之一。儲備大小為8字節(jié)。浮點(diǎn)數(shù)數(shù)據(jù),從-1.79E+308到1.79E+308floatfloat儲備大小為8儲備大小為8字節(jié)。浮點(diǎn)精度數(shù)字?jǐn)?shù)據(jù),從-3.40E+38到3.40E+38。real儲備大小為4字節(jié)。日期和時(shí)刻數(shù)據(jù),從1753年1月1日到real儲備大小為4字節(jié)。日期和時(shí)刻數(shù)據(jù),從1753年1月1日到9999年12月31日,準(zhǔn)確度為三百分之一秒或3.33毫秒。值被圓整到.000..003或.007毫秒增量。datetime儲備為兩個(gè)4字節(jié)整數(shù)。前4個(gè)字節(jié)儲備早于或晚于基日期1900年1月1日的天數(shù)?;掌谑窍到y(tǒng)的參照日期。不承諾datetime的值早于1753年1月1日.后4個(gè)字節(jié)儲備一天之中的具體時(shí)刻,被表示為從午夜算起的毫秒數(shù)。秒數(shù)的有效范疇是0-59.nationalcharacter(n)Synonym:nchar(n)固定長度的Unicode數(shù)據(jù),最大長度為4000個(gè)字符。默認(rèn)長度=1。儲備大?。ㄒ宰止?jié)計(jì))是輸入的字符數(shù)的兩倍。nationalcharactervarying(n)可變長度的Unicode數(shù)據(jù),長度值范疇為從1到4000個(gè)字符.默認(rèn)長度=1.儲備大?。ㄒ宰止?jié)計(jì))是輸入的字符數(shù)的兩倍。Synonym:nvarchar(n)可變長度的可變長度的Unicode數(shù)據(jù),最大長度為(2人30-2)/2(536,870,911)個(gè)字符。儲備大?。ㄒ宰止?jié)計(jì))是輸入的字符數(shù)的兩倍。ntextntext<注意:字符串函數(shù)中不再支持<注意:字符串函數(shù)中不再支持ntext.固定長度的二進(jìn)制數(shù)據(jù),最大長度為8000字節(jié)。默認(rèn)長度=1。binary(n)binary(n)儲備大小是固定的,是在類型中聲明的以字節(jié)為單位的長度??勺冮L度的二進(jìn)制數(shù)據(jù),最大長度為儲備大小是固定的,是在類型中聲明的以字節(jié)為單位的長度??勺冮L度的二進(jìn)制數(shù)據(jù),最大長度為8000字節(jié)。默認(rèn)長度=1。varbinary(n)varbinary(n)儲備大小可變。它表示值的長度(以字節(jié)為單位)??勺冮L度的二進(jìn)制數(shù)據(jù),最大長度為儲備大小可變。它表示值的長度(以字節(jié)為單位)??勺冮L度的二進(jìn)制數(shù)據(jù),最大長度為2八30-1(1,073,741,823)字節(jié)。imageimage儲備大小是值的以字節(jié)為單位的長度。儲備大小是值的以字節(jié)為單位的長度。uniqueidentifier全局唯獨(dú)標(biāo)識符uniqueidentifier全局唯獨(dú)標(biāo)識符(GUID)。儲備大小為16字節(jié)。這是數(shù)據(jù)列的一個(gè)屬性,而不是一個(gè)專門的數(shù)據(jù)類型。IDENTITY[(s,i)]只有整數(shù)數(shù)據(jù)類型的數(shù)據(jù)列可用于標(biāo)識列。一個(gè)表只能有一個(gè)標(biāo)識列。能夠指定種子和增量,但不能更新列。s(seed)=起始值這是數(shù)據(jù)列的一個(gè)屬性,而不是一個(gè)專門的數(shù)據(jù)類型。IDENTITY[(s,i)]只有整數(shù)數(shù)據(jù)類型的數(shù)據(jù)列可用于標(biāo)識列。一個(gè)表只能有一個(gè)標(biāo)識列。能夠指定種子和增量,但不能更新列。s(seed)=起始值i(increment)=增量值這是數(shù)據(jù)列的一個(gè)屬性,而不是一個(gè)專門的數(shù)據(jù)類型。它是一個(gè)表中使用uniqueidentifier數(shù)據(jù)類型定義的列。一個(gè)表只能有一個(gè)ROWGUIDCOL列表SQL到Java數(shù)據(jù)類型影射表SQL數(shù)據(jù)類型JAVA數(shù)據(jù)類型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITBooleanTINYINTByteSMALLINTShortINTEGERIntBIGINTLongREALFloatFLOATDoubleDOUBLEDoubleBINARYbyte[]VARBINARYbyte[]LONGVARBINARYbyte[]DATEjava.sql.DateTIMEjava.sql.TimeTIMESTAMPjava.sql.TimestampJava到SQL數(shù)據(jù)類型影射表JAVA數(shù)據(jù)類型SQL數(shù)據(jù)類型StringVARCHARorLONGVARCHARjava.math.BigDecimalNUMERICBooleanBITByteTINYINTIntINTEGERLongBIGINTFloatREALDoubleDOUBLEbyte[]VARBINARYorLONGVARBINARYjava.sql.DateDATEjava.sql.TimeTIMEjava.sql.TimestampTIMESTAMP那個(gè)地點(diǎn),大伙要注意了,并不是所有的數(shù)據(jù)類型在各種數(shù)據(jù)庫治理系統(tǒng)中都被支持。下面,就幾種常用的數(shù)據(jù)類型之間的轉(zhuǎn)化進(jìn)行說明:(1) CHAR,VARCHAR,和LONGVARCHAR在SQL語言中,有三種分別表示不同長度的字符類型CHAR,VARCHAR,和LONGVARCHAR,在Java/Jsp中并沒有相應(yīng)的三種不同的數(shù)據(jù)類型與之一一對應(yīng),JDBC的處理方法是將其與String或者char[]對應(yīng)起來。在實(shí)際編程中不必對著三種SQL數(shù)據(jù)類型進(jìn)行區(qū)分,全部將他們轉(zhuǎn)化為Sting或者char[]就能夠了。而且通常使用應(yīng)用的專門普遍的String類型。我們還能夠利用String類提供的方法將一個(gè)String對象轉(zhuǎn)化為char[],或者用char[]為參數(shù)構(gòu)造一個(gè)Stirng對象。關(guān)于定長度的SQL數(shù)據(jù)類型CHAR(n),當(dāng)從數(shù)據(jù)庫治理系統(tǒng)中獲得的結(jié)果集提取該類型的數(shù)據(jù)時(shí),JDBC會為其構(gòu)造一個(gè)長度為n的String對象來代表他,假如實(shí)際的字符個(gè)數(shù)不足'n',系統(tǒng)會自動(dòng)為String對象補(bǔ)上空格。當(dāng)向數(shù)據(jù)庫治理系統(tǒng)寫入的數(shù)據(jù)類型應(yīng)該是CHAR(n)時(shí),JDBC也會將該String對象的末尾補(bǔ)上相應(yīng)數(shù)量的空格。一樣情形下,CHAR,VARCHAR,LONGVARCHAR和String之間能夠無差錯(cuò)的進(jìn)行轉(zhuǎn)換。但專門值得注意的是LONGVARCHAR,這種SQL的數(shù)據(jù)類型有時(shí)在數(shù)據(jù)庫中代表的數(shù)據(jù)可能有幾兆字節(jié)的大小,超過了String對象的承擔(dān)范疇。JDBC解決的方法是用Java的InputStream來同意這種類型的數(shù)據(jù)[以后我們回涉及到]。InputStream不僅支持ASCII,而且支持Unicode,我們能夠依照需要進(jìn)行選擇。(2) DECIMAL和NUMERICSQL的DECIMAL和NUMERIC通常用來表示需要一定精度的定點(diǎn)數(shù)。在Java的簡單數(shù)據(jù)類型中,沒有一種類型與之相對應(yīng)。但從JDK1.1開始,Sun公司在java.math.*包中加入了一個(gè)新的類BigDecimal,該類的對象能夠與DECIMAL、NUMERIC進(jìn)行轉(zhuǎn)換。另外,當(dāng)從數(shù)據(jù)庫治理系統(tǒng)中讀取數(shù)據(jù)時(shí),還能夠用getString()方法來獵取decimal和numeric。(3) BINARY,VA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來辦公軟件發(fā)展趨勢調(diào)研報(bào)告
- 二手房包銷合同
- 農(nóng)副產(chǎn)品購銷合同兩
- 2025年江西貨運(yùn)從業(yè)資格證恢復(fù)考試題
- 《不同價(jià)態(tài)含硫物質(zhì)的轉(zhuǎn)化》作業(yè)設(shè)計(jì)方案
- 2023年高考全國乙卷數(shù)學(xué)(文)真題(解析版)
- 《藥物化學(xué)》課程標(biāo)準(zhǔn)
- 建房拆除改造合同范本
- 制砂機(jī)購買合同范例
- 中俄出口合同范例
- 高級財(cái)務(wù)會計(jì)-第7版全書教案
- 電動(dòng)葫蘆安全檢查表
- 考察領(lǐng)導(dǎo)談話怎么評價(jià)領(lǐng)導(dǎo)【六篇】
- 無側(cè)限抗壓強(qiáng)度試驗(yàn)記錄
- 鉗形電流表使用PPT
- 建筑工程分部分項(xiàng)工程劃分表(新版)
- 福建省危險(xiǎn)化學(xué)品企業(yè)安全標(biāo)準(zhǔn)化(三級)考核評分標(biāo)準(zhǔn)指導(dǎo)意見(試行)
- 上海市長寧區(qū)2022年高考英語一模試卷(含答案)
- 城鎮(zhèn)詳細(xì)設(shè)計(jì)控制性詳細(xì)規(guī)劃
- 智能垃圾桶系統(tǒng)的設(shè)計(jì)論文
- 質(zhì)量管理體系過程識別矩陣圖及與條款對照表
評論
0/150
提交評論