前言
好比C++中,定義int類型需要多少字節(jié),定義double類型需要多少字節(jié)一樣,MySQL對(duì)表每個(gè)列中的數(shù)據(jù)也會(huì)實(shí)行嚴(yán)格控制,這是數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序成功的關(guān)鍵。M前言
好比C++中,定義int類型需要多少字節(jié),定義double類型需要多少字節(jié)一樣,MySQL對(duì)表每個(gè)列中的數(shù)據(jù)也會(huì)實(shí)行嚴(yán)格控制,這是數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序成功的關(guān)鍵。MySQL提供了一組可以賦給表中各個(gè)列的數(shù)據(jù)類型,每個(gè)類型都強(qiáng)制數(shù)據(jù)滿足為該數(shù)據(jù)類型預(yù)先確定的一組規(guī)則,例如大小、類型及格式。
這里先總結(jié)數(shù)據(jù)類型。MySQL中的數(shù)據(jù)類型大的方面來分,可以分為:日期和時(shí)間、數(shù)值,以及字符串。下面就分開來進(jìn)行總結(jié)。
日期和時(shí)間數(shù)據(jù)類型
| MySQL數(shù)據(jù)類型 | 含義 |
| date | 3字節(jié),日期,格式:2014-09-18 |
| time | 3字節(jié),時(shí)間,格式:08:42:30 |
| datetime | 8字節(jié),日期時(shí)間,格式:2014-09-18 08:42:30 |
| timestamp | 4字節(jié),自動(dòng)存儲(chǔ)記錄修改的時(shí)間 |
| year | 1字節(jié),年份 |
數(shù)值數(shù)據(jù)類型
整型
| MySQL數(shù)據(jù)類型 | 含義(有符號(hào)) |
| tinyint | 1字節(jié),范圍(-128~127) |
| smallint | 2字節(jié),范圍(-32768~32767) |
| mediumint | 3字節(jié),范圍(-8388608~8388607) |
| int | 4字節(jié),范圍(-2147483648~2147483647) |
| bigint | 8字節(jié),范圍(+-9.22*10的18次方) |
上面定義的都是有符號(hào)的,當(dāng)然了,也可以加上unsigned關(guān)鍵字,定義成無符號(hào)的類型,那么對(duì)應(yīng)的取值范圍就要翻翻了,比如:
tinyint unsigned的取值范圍為0~255。
浮點(diǎn)型
| MySQL數(shù)據(jù)類型 | 含義 |
| float(m, d) | 4字節(jié),單精度浮點(diǎn)型,m總個(gè)數(shù),d小數(shù)位 |
| double(m, d) | 8字節(jié),雙精度浮點(diǎn)型,m總個(gè)數(shù),d小數(shù)位 |
| decimal(m, d) | decimal是存儲(chǔ)為字符串的浮點(diǎn)數(shù) |
我在MySQL中建立了一個(gè)表,有一列為float(5, 3);做了以下試驗(yàn):
1.插入123.45678,最后查詢得到的結(jié)果為99.999;
2.插入123.456,最后查詢結(jié)果為99.999;
|
新聞熱點(diǎn)
疑難解答
圖片精選