首頁  >  文章  >  資料庫  >  Mysql資料格式

Mysql資料格式

高洛峰
高洛峰原創
2016-12-02 14:46:531095瀏覽

Varchar 對每個英文(ASCII)字元都佔用2個位元組,對一個漢字也只佔用兩個位元組
char 對英文(ASCII)字元佔用1個位元組,對一個漢字佔用2個位元組Varchar的類型不以空格填滿,例如varchar(100),但它的值只是"qian",則它的值就是"qian"而char 不一樣,例如char(100),它的值是"qian",而實際上它在資料庫中是"qian "(qian後面共有96個空格,就是把它填滿為100個位元組)。

由於char是以固定長度的,所以它的速度會比varchar快得多!但程式處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!

ntext

可變長度Unicode 資料的最大長度為230 - 1 (1,073,741,823) 個字元。儲存大小是所輸入字元數的兩倍(以位元組為單位)。 ntext 在 SQL-92 的同義字是 national text。

text

伺服器代碼頁中的可變長度非 Unicode 資料的最大長度為 231-1 (2,147,483,647) 個字元。當伺服器代碼頁使用雙位元組字元時,儲存量仍是 2,147,483,647 位元組。儲存大小可能小於 2,147,483,647 位元組(取決於字串)。

bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數據,儲存大小為 8 個位元組。

int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整數數據,儲存大小為 4 個位元組。

smallint:從-2^15(-32,768)到2^15-1(32,767)的整數數據,儲存大小為 2 個位元組。

tinyint:從0到255的整數數據,儲存大小為 1 位元組。

bit:1或0的整數數據,儲存大小為 1 位元組。

 

Unicode 資料
在 Microsoft® SQL Server™ 2000 中,傳統上非 Unicode 資料類型允許使用由特定字元集定義的字元。字元集是在安裝 SQL Server 時選擇的,不能變更。使用 Unicode 資料類型,列可儲存由 Unicode 標準定義的任何字符,包含由不同字符集定義的所有字符。 Unicode 資料型別需要相當於非 Unicode 資料型別兩倍的儲存空間。

Unicode 資料使用 SQL Server 中的 nchar、varchar 和 ntext 資料類型進行儲存。對於儲存來自多種字元集的字元的列,可採用這些資料類型。當列中各項所包含的 Unicode 字元數不同時(至多為 4000),使用 nvarchar 類型。當列中各項為相同固定長度時(至多為 4000 個 Unicode 字元),使用 nchar 類型。當列中任意項超過 4000 個 Unicode字元時,使用 ntext 類型。

說明    SQL Server 的 Unicode 資料類型是基於 SQL-92 標準中的國家字元資料類型。 SQL-92 使用前綴字元 n 來識別這些資料類型及其值。

 

1.資料型別
資料類弄是資料的一種屬性,表示資料所表示資訊的型別。任何一種電腦語言都定義了自己的資料類型。當然,不同的程式語言都有不同的特點,所定義的資料類型的各類別和名稱都或多或少有些不同。 SQL Server 提供了25 種資料類型:
·Binary [(N)]
·Varbinary [(N)]
·Char [(N)]
·Varchar[(N)]
·Nchar[(N)]
·Nvarchar[(N)]
·Datetime
·Smalldatetime
·Deci​​mal[(p[,s])]
·Numeric[(p[,s])]
·Float[(N)]
·Real
·Real
· Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Sysname
·Timestamp
·Uniqueidentifier
·Sysname
·Timestamp
·5包括Binary 、Varbinary 和Image.
Binary 資料型別既可以是固定長度的(Binary),也可以是變長度的。
Binary[(N)] 是 n 位元固定的二進位資料。其中,n 的取值範圍是從 1 到 8000。其儲存窨的大小是 n + 4 個位元組。
Varbinary[(N)] 是 n 位元變長度的二進位資料。其中,n 的取值範圍是從 1 到 8000。其儲存窨的大小是 n + 4個位元組,而不是 n 個位元組。
在 Image 資料類型中儲存的資料是以位元字串儲存的,不是由 SQL Server 解釋的,必須由應用程式來解釋。例如,應用程式可以使用 BMP、TIEF、GIF 和 JPEG 格式把資料儲存在 Image 資料類型中。
(2)字元資料型別
字元資料的型別包括 Char,Varchar 和 Text。
字元資料是由任何字母、符號和數字任意組合而成的資料。
Varchar 是變長字元數據,其長度不超過 8KB。 Char 是定長字元數據,其長度最多為 8KB。超過 8KB 的ASCII 資料可以使用Text 資料類型儲存。例如,因為 Html 文件全部都是 ASCII 字符,而且在一般情況下長度超過 8KB,所以這些文件可以 Text 資料類型儲存在 SQL Server 中。
(3)Unicode 資料類型
Unicode 資料類型包括 Nchar,Nvarchar 和Ntext。
在 Microsoft SQL Server 中,傳統的非 Unicode 資料類型允許使用由特定字元集定義的字元。在 SQL Server 安裝過程中,允許選擇一種字元集。使用 Unicode 資料類型,列中可以儲存任何由Unicode 標準定義的字元。在 Unicode 標準中,包含了以各種字元集定義的全部字元。使用Unicode 資料類型,所戰勝的窨是使用非 Unicode 資料類型所佔用的窨大小的兩倍。
在 SQL Server 中,Unicode 資料以 Nchar、Nvarchar 和 Ntext 資料類型儲存。使用這種字元類型儲存的列可以儲存多個字元集中的字元。當列的長度變化時,應該使用 Nvarchar 字元類型,這時最多可儲存 4000 個字元。當列的長度固定不變時,應該使用 Nchar 字元類型,同樣,這時最多可以儲存 4000 個字元。當使用 Ntext 資料類型時,該列可以儲存多於 4000 個字元。
(4)日期和時間資料類型
日期和時間資料類型包括 Datetime 和 Smalldatetime 兩種類型。
日期和時間資料類型由有效的日期和時間組成。例如,有效的日期和時間資料包括"4/01/98 12:15:00:00:00 PM"和"1:28:29:15:01 AM 8/17/98"。前一個資料型態是日期在前,時間在後一個資料型別是霎時間在前,日期在後。在Microsoft SQL Server 中,日期和時間資料類型包括Datetime 和Smalldatetime 兩種類型時,所儲存的日期範圍是從1753 年1 月1 日開始,到9999 年12 月31 日結束(每一個值要求8 個儲存位元組)。使用 Smalldatetime 資料類型時,所儲存的日期範圍是 1900 年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個儲存位元組)。
日期的格式可以設定。設定日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在預設情況下,日期格式為 MDY。
例如,執行 Set DateFormat YMD 之後,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式為 日 月有年 形式
(5)數字資料類型
數字資料只包含數字。數字資料型別包括正數和負數、小數(浮點數)和整數 。 🎜整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數儲存的資料類型是 Int,Smallint 和 Tinyint。 Int 資料類型儲存資料的範圍大於 Smallint 資料類型儲存資料的範圍,而 Smallint 根據類型儲存資料的範圍大於 Tinyint 資料類型儲存資料的範圍。使用 Int 資料狗昔儲存資料的範圍是從 -2 147 483 648 到 2 147 483 647(每個值要求 4個位元組儲存空間)。使用 Smallint 資料類型時,儲存資料的範圍從 -32 768 到 32 767(每個值要求2個位元組儲存空間)。使用 Tinyint 資料類型時,儲存資料的範圍是從0 到255(每個值要求1個位元組儲存空間)。
精確小婁資料在 SQL Server 中的資料型別是 Decimal 和 Numeric。這種資料所佔的儲存空間是根據該資料的位數後的位數來決定。
在SQL Server 中,近似小數資料的資料型態是 Float 和 Real。例如,三分之一這個分數記作。 3333333,當使用近似資料型別時能準確表示。因此,從系統中檢索到的資料可能與儲存在該列中資料不完全一樣。
(6)貨幣數據表示正的或負的貨幣數量 。在 Microsoft SQL Server 中,貨幣資料的資料類型是Money 和 Smallmoney。 Money 資料類型要求 8 個儲存字節,Smallmoney 資料類型要求 4 個儲存位元組。
(7)特殊資料型別
特殊資料型別包括前面沒有提過的資料型態。特殊的資料類型有3種,分別是 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用來表示SQL Server 活動的先後順序,以二進投影的格式表示。 Timestamp 資料與插入資料或日期和時間沒有關係。
Bit 由 1 或 0 組成。當表示真或假、ON 或 OFF 時,使用 Bit 資料類型。例如,詢問是否是每一次存取的客戶機請求可以儲存在這種資料類型的列中。
Uniqueidentifier 由 16 位元組的十六進位數字組成,表示一個全域唯一的。當表格的記錄行要求唯一時,GUID是非常有用。例如,在客戶識別號碼列使用這種資料類型可以區別不同的客戶。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn