下表給出了mysql 定義串值列的型別,以及每種型別的最大尺寸和儲存
需求。對於可變長的列型別,各行的值所佔的儲存
量是不同的,這撒於實際存放在列中的值的長度。這個長度在表中用l 表示。
型別說明
最大尺寸
儲存
需求
char( m)
m 位元組
m 位元組
varchar(m)
m 位元組
l + 1位元組
tinyblob, tinytext28
- 1位元組
l + 1位元組
blob, text216
- 1 位元組
l + 2位元組
mediumblob, mediumtext224
- 1位元組
l + 3位元組
longblob, longtext232
- 1位元組
l + 4位元組
enum(「value1」, 「value2」, ...)
65535 個成員
1 或2位元組
set (「value1」, 「value2」, ...)
64個成員
1、2、3、4 或8位元組
表5:串列型別最大尺寸及
儲存需求
l 以外所需的額外位元組為存放該值的長度所需的位元組數。mysql 通過儲存
值的內容及其長度來處理可變長度的值。這些額外的位元組是無符號整數。請注意,可變長型別的最大長度、此型別所需的額外位元組數以及占用相同位元組數的無符號整數之間的對應關係。例如,mediumblob 值可能最多224 - 1位元組長並需要3 個位元組記錄其結果。3 個位元組的整數型別mediumint 的最大無符號值為224 - 1。這並非偶然。
2.3日期時間列型別
mysql 提供了幾種時間值的列型別,它們分別是: date、datetime、time、timestamp和year。下表給出了mysql 為定義儲存
日期和時間值所提供的這些型別,並給出了每種型別的合法取值範圍。
型別名
說明
date
「yyyy-mm-dd」格式表示的日期值
time
「hh:mm:ss」格式表示的時間值
datetime
「yyyy-mm-dd hh:mm:ss」格式
timestamp
「yyyymmddhhmmss」格式表示的時間戳值
year
「yyyy」格式的年份值
表6:日期時間列型別
型別名
取值範圍
儲存
需求
date
「1000-01-01」到「9999-12-31」
3位元組time
「-838:59:59」到「838:59:59」
3位元組datetime
「1000-01-01 00:00:00」 到「9999-12-31 23:59:59」
8位元組timestamp
19700101000000 到2037 年的某個時刻
4位元組year
1901 到2155
1位元組
表7: 日前時間列型別的取值範圍和
儲存需求
下面舉個例子:
這個例子建立乙個student表,這個表中有name欄位,字元型別列,不允許null(空值)。有chinese、maths和english三個整數型別列。還有個birthday日期型別列。
create table student(name varchar(20) not null,
chinese tinyint(3),
maths tinyint(3),
english tinyint(3),
birthday date
)
function imgzoom(id)//重新設定大小 防止撐破** else } window.onload = function() { var imgs = $("content").getelementsbytagname("img"); var i=0; for(;i
基礎知識 MySQL資料型別及列型別 1
我們要把現實世界中的各種資訊轉換成計算機能理解的東西,這些轉換後的資訊就形成了資料。例如,某人的出生日期是 1987年5月23日 他的身高是170厘公尺,等等。資料不僅包括數字 字母 文字和其他特殊字元組成的文字形式的資料,而且還包括圖形 影象 動畫 影像 聲音等多 資料。但使用最多 最基本的仍然是...
基礎知識 MySQL資料型別及列型別 1
我們要把現實世界中的各種資訊轉換成計算機能理解的東西,這些轉換後的資訊就形成了資料。例如,某人的出生日期是 1987年5月23日 他的身高是170厘公尺,等等。資料不僅包括數字 字母 文字和其他特殊字元組成的文字形式的資料,而且還包括圖形 影象 動畫 影像 聲音等多 資料。但使用最多 最基本的仍然是...
MySql基礎知識 資料型別
整數型別 位元組最小值 最大值tinyint 1有符號 128,無符號 0 有符號127,無符號255 smallint 2有符號 32768,無符號 0 有符號 32767,無符號 65535 mediumint 3有符號 8388608,無符號 0 有符號 8388607,無符號 1677215...