IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MSSQL → 跟我學(xué)SQL:六串行數(shù)據(jù)類型

跟我學(xué)SQL:六串行數(shù)據(jù)類型

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

?? SQL的數(shù)據(jù)類型決定了一個字段的內(nèi)容在數(shù)據(jù)庫中會被如何處理、存儲和顯示。SQL92定義了標(biāo)準(zhǔn)的數(shù)據(jù)類型,目的是給數(shù)據(jù)庫制造商建立自己的數(shù)據(jù)類型提供藍圖。在前面的文章中,我們介紹了一些常用的數(shù)據(jù)類型,這些數(shù)據(jù)類型分為四大類:
?? 串行
?? 數(shù)值
?? 日期時間
?? 區(qū)間型
?
?? 本文將向你概述這些數(shù)據(jù)類型在數(shù)據(jù)庫中是如何使用的,然后著重解釋串行數(shù)據(jù)類型。這些信息可以作為有用的參考,或者作為關(guān)于某個數(shù)據(jù)庫制造商具體產(chǎn)品中數(shù)據(jù)類型的背景知識。

?? 使用數(shù)據(jù)類型
?? 當(dāng)你在數(shù)據(jù)庫中創(chuàng)建了一個表格,你就定義了每列的名字以及要輸入到這些列中的內(nèi)容的數(shù)據(jù)類型。從先前的文章中借用一個例子:

CREATE TABLE Products
(prod_id INT(16)AUTO_INCREMENT, prod_color VARCHAR(20),
prod_descr VARCHAR(255), prod_size DECIMAL(8,2),
UNIQUE (`prod_id`));

?? 在以上的查詢中,定義行prod_color VARCHAR(20)發(fā)出指令要創(chuàng)建一個列,名字是prod_color,數(shù)據(jù)類型是VARCHAR,長度為20。

?? 你的數(shù)據(jù)庫使用和每個類型相關(guān)的描述符來區(qū)別數(shù)據(jù)類型。例如,VARCHAR數(shù)據(jù)類型的描述符所含的信息將它區(qū)別為串行數(shù)據(jù)型,它包含所有的串字符,其長度是可變的。數(shù)據(jù)庫里列的定義還包含了其他信息,例如對應(yīng)于數(shù)據(jù)類型的特定長度。

?? 如前所述,每個數(shù)據(jù)庫制造商都希望在SQL92定義的標(biāo)準(zhǔn)上建立自己的數(shù)據(jù)類型。這樣每個數(shù)據(jù)庫在定義數(shù)據(jù)類型時都能夠設(shè)定自己所需要的最大容量限制和其他屬性。許多數(shù)據(jù)庫使用的數(shù)據(jù)類型名字和這里列出來的一樣,盡管每種的實現(xiàn)方法都有微小的差別。要確定特定數(shù)據(jù)類型使用方法的細節(jié)最好的方法還是查閱數(shù)據(jù)庫制造商的文檔。

?? 已經(jīng)說過了,希望對標(biāo)準(zhǔn)字符串?dāng)?shù)據(jù)類型有更多的了解就往下看。

? 串
?
?? 有兩種主要的串行數(shù)據(jù)類型:字符和位。串行使用數(shù)據(jù)庫里由SQL_TEXT所定義的字符。SQL_92標(biāo)準(zhǔn)同時還提供了NATIONAL CHARACTER(國家字符集)和NATIONAL CHARACTER VARYING(國家字符集變體),這兩者都能使用可定義字符集。后者的處理方法和CHARACTER以及CHARACTER VARYING類型一樣。

CHARACTER | CHAR
?? 使用方法:CHARACTER(clength) | CHAR(clength)

CHARACTER和CHAR這兩個關(guān)鍵字是相同的。
CHARACTER類型一個突出的特點是它們能夠包含這個字符。
CHARACTER 類型包含了固定長度的串字符(來自SQL_TEXT的語言集),clength。
字符在值的長度小于clength時起填充作用。這表示CHARACTER字段的長度是固定的。
?? 你可以把CHARACTER的數(shù)據(jù)類型字段和相同類型的其他允許不同長度的字段比較,或者和CHARACTER VARYING 數(shù)據(jù)類型比較。
?? 有些數(shù)據(jù)庫允許和數(shù)值數(shù)據(jù)類型比較。
CHARACTER VARYING | CHAR VARYING | VARCHAR
?? 使用方法:CHARACTER VARYING(maxlength) | CHAR VARYING(maxlength) | VARCHAR(maxlength)

CHARACTER VARYING,CHAR VARYING,和VARCHAR這幾個關(guān)鍵字是相同的。
?? 這些類型能容納最大長度的字符串,maxlength。
?? 數(shù)據(jù)庫把字段的長度作為值的實際長度。
?? IT

? 使用方法:BIT(blength)

?? 這種類型包含了帶有長度的位字符(1和0),blength。例如,如果我們使用BIT(2),樣本值將為"01"。
?? 有的數(shù)據(jù)庫會在串的開頭插入空位,其的則會填充它們以符合固定長度的要求。
?? 位字符是串,不是整數(shù)。
?? 你可以把BIT數(shù)據(jù)類型的字段與相同類型的允許不同長度的其它字段比較,或者和BIT VARYING數(shù)據(jù)類型比較。
?? 有些數(shù)據(jù)庫允許BITS和CHARACTER或者INTEGER類型比較。
?? BIT VARYING

?? 使用方法: BIT VARYING(maxlength)

?? 這種類型包含了最大長度的位字符,maxlength。
?? 所記錄的長度被設(shè)為值的實際長度。
?? 數(shù)據(jù)庫允許和其的BIT VARYING數(shù)據(jù)字段比較,或者和BIT的數(shù)據(jù)字段比較。
?? 對我們的SQL系列有了一些了解了嗎?

?? 請把你的評論、問題或者回應(yīng)發(fā)到下面的討論欄,或者如果你有關(guān)于SQL基礎(chǔ)系列的論題,可以發(fā)到我們編輯的信箱。

?? 串理論
?? 數(shù)據(jù)庫生產(chǎn)商通過建立這些基礎(chǔ)的數(shù)據(jù)類型來創(chuàng)建你實際要實現(xiàn)的數(shù)據(jù)類型。對于字符串,這就可能包括相同名字的(不同)類型,例如CHAR或BIT,或者擴展到包括TEXT,SMALL TEXT,以及包含字符串的其他數(shù)據(jù)類型。

?? 數(shù)據(jù)從一個數(shù)據(jù)庫遷移到另一個數(shù)據(jù)庫時,這種設(shè)計上的彈性產(chǎn)生了一個必須克服的障礙。在一個數(shù)據(jù)庫里,你可能會有一個叫做CHAR的類型,這個類型所允許的最大容量大于你要遷移到的數(shù)據(jù)庫的最大容量。而且,(SQL92)標(biāo)準(zhǔn)中沒有明確定義的類型可能會變化較大,這樣的話只用遵從慣例來簡化遷移。

?? 在ZDNet China最近的文章《BLOB移植的替換方案》中討論了存在數(shù)據(jù)類型移植問題時保護數(shù)據(jù)的一個可能的解決方案。SQL標(biāo)準(zhǔn)沒要包括存儲二進制數(shù)據(jù)的指標(biāo),這造成了不同數(shù)據(jù)庫制造商產(chǎn)品間的不兼容。軟件開發(fā)者必須找到提到方案列清除這些障礙。

?? 在這個系列的下一篇文章中,我們會看看SQL92的數(shù)字?jǐn)?shù)據(jù)類型,每個有什么特點,以及對要實現(xiàn)這些類型的數(shù)據(jù)庫的要求。

關(guān)鍵詞標(biāo)簽:類型,數(shù)據(jù),數(shù)據(jù)庫,CHA

相關(guān)閱讀 不良人3手游新手職業(yè)推薦-新手職業(yè)玩法介紹 跟我學(xué)SQL:九datetime和interval數(shù)據(jù)類型 跟我學(xué)SQL:八數(shù)值數(shù)據(jù)類型 mysql建表初步知識及字段類型 航海王熱血航線貝拉密怎么玩-航海王貝拉密教學(xué) 變形病毒的基本類型介紹

文章評論
發(fā)表評論

熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟 SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系

相關(guān)下載

人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法