[转]mysql 数据类型
生活随笔
收集整理的這篇文章主要介紹了
[转]mysql 数据类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:https://github.com/jaywcjlove/handbook/blob/master/MySQL/MySQL%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md
MySQL數據類型
- 數字類型
- 整數: tinyint、smallint、mediumint、int、bigint
- 浮點數: float、double、real、decimal
- 日期和時間: date、time、datetime、timestamp、year
- 字符串類型
- 字符串: char、varchar
- 文本: tinytext、text、mediumtext、longtext
- 二進制(可用來存儲圖片、音樂等): tinyblob、blob、mediumblob、longblob
字符串類型
| 類型 | 單位 | 最大 | 特性 |
|---|---|---|---|
| CHAR | 字符 | 最大為255字符 | 存儲定長,容易造成空間的浪費 |
| VARCHAR | 字符 | 可以超過255個字符 | 存儲變長,節省存儲空間 |
| TEXT | 字節 | 總大小為65535字節,約為64KB | - |
- TEXT在MySQL內部大多存儲格式為溢出頁,效率不如CHAR
- Mysql默認為utf-8,那么在英文模式下1個字符=1個字節,在中文模式下1個字符=3個字節。
數字類型
整形
| type | Storage | Minumun Value | Maximum Value |
|---|---|---|---|
| ? | (Bytes) | (Signed/Unsigned) | (Signed/Unsigned) |
| TINYINT | 1 | -128 | 127 |
| ? | ? | 0 | 255 |
| SMALLINT | 2 | -32768 | 32767 |
| ? | ? | 0 | 65535 |
| MEDIUMINT | 3 | -8388608 | 8388607 |
| ? | ? | 0 | 16777215 |
| INT | 4 | -2147483648 | 2147483647 |
| ? | ? | 0 | 4294967295 |
| BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
| ? | ? | 0 | 18446744073709551615 |
浮點型
| 屬性 | 存儲空間 | 精度 | 精確性 | 說明 |
|---|---|---|---|---|
| FLOAT(M, D) | 4 bytes | 單精度 | 非精確 | 單精度浮點型,m總個數,d小數位 |
| DOUBLE(M, D) | 8 bytes | 雙精度 | 比Float精度高 | 雙精度浮點型,m總個數,d小數位 |
- FLOAT容易造成精度丟失
定點數DECIMAL
- 高精度的數據類型,常用來存儲交易相關的數據
- DECIMAL(M,N).M代表總精度,N代表小數點右側的位數(標度)
- 1 < M < 254, 0 < N < 60;
- 存儲空間變長
時間類型
| 類型 | 字節 | 例 | 精確性 |
|---|---|---|---|
| DATE | 三字節 | 2015-05-01 | 精確到年月日 |
| TIME | 三字節 | 11:12:00 | 精確到時分秒 |
| DATETIME | 八字節 | 2015-05-01 11::12:00 | 精確到年月日時分秒 |
| TIMESTAMP | ? | 2015-05-01 11::12:00 | 精確到年月日時分秒 |
- MySQL在
5.6.4版本之后,TIMESTAMP和DATETIME支持到微妙。 TIMESTAMP會根據系統時區進行轉換,DATETIME則不會- 存儲范圍的區別
TIMESTAMP存儲范圍:1970-01-01 00::00:01 to 2038-01-19 03:14:07DATETIME的存儲范圍:1000-01-01 00:00:00 to 9999-12-31 23:59:59
- 一般使用
TIMESTAMP國際化 - 如存時間戳使用數字類型
BIGINT
轉載于:https://www.cnblogs.com/dirgo/p/9110674.html
總結
以上是生活随笔為你收集整理的[转]mysql 数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京站的行李寄存处在哪里,怎么收费?
- 下一篇: 【MySQL解惑笔记】忘记MySQL数据