MySQL欄位型別小記
這裡先總結資料型別。MySQL中的資料型別大的方面來分,可以分為:日期和時間、數值,以及字串。下面就分開來進行總結。
1.日期和時間資料型別
MySQL資料型別 | 含義 |
date | 3位元組,日期,格式:2014-09-18 |
time | 3位元組,時間,格式:08:42:30 |
datetime | 8位元組,日期時間,格式:2014-09-18 08:42:30 |
timestamp | 4位元組,自動儲存記錄修改的時間 |
year | 1位元組,年份 |
2.數值資料型別
整型
MySQL資料型別 | 含義(有符號) |
tinyint | 1位元組,範圍(-128~127) |
smallint | 2位元組,範圍(-32768~32767) |
mediumint | 3位元組,範圍(-8388608~8388607) |
int | 4位元組,範圍(-2147483648~2147483647) |
bigint | 8位元組,範圍(+-9.22*10的18次方) |
上面定義的都是有符號的,當然了,也可以加上unsigned關鍵字,定義成無符號的型別,那麼對應的取值範圍就要翻翻了,比如:
tinyint unsigned的取值範圍為0~255。
浮點型
MySQL資料型別 | 含義 |
float(m, d) | 4位元組,單精度浮點型,m總個數,d小數位 |
double(m, d) | 8位元組,雙精度浮點型,m總個數,d小數位 |
decimal(m, d) | decimal是儲存為字串的浮點數 |
我在MySQL中建立了一個表,有一列為float(5, 3);做了以下試驗:
1.插入123.45678,最後查詢得到的結果為99.999;
2.插入123.456,最後查詢結果為99.999;
3.插入12.34567,最後查詢結果為12.346;
所以,在使用浮點型的時候,還是要注意陷阱的,要以插入資料庫中的實際結果為準。
3.字串資料型別
MySQL資料型別 | 含義 |
char(n) | 固定長度,最多255個字元 |
varchar(n) | 可變長度,最多65535個字元 |
tinytext | 可變長度,最多255個字元 |
text | 可變長度,最多65535個字元 |
mediumtext | 可變長度,最多2的24次方-1個字元 |
longtext | 可變長度,最多2的32次方-1個字元 |
1.char(n)和varchar(n)中括號中n代表字元的個數,並不代表位元組個數,所以當使用了中文的時候(UTF8)意味著可以插入m箇中文,但是實際會佔用m*3個位元組。
2.同時char和varchar最大的區別就在於char不管實際value都會佔用n個字元的空間,而varchar只會佔用實際字元應該佔用的空間+1,並且實際空間+1<=n。
3.超過char和varchar的n設定後,字串會被截斷。
4.char的上限為255位元組,varchar的上限65535位元組,text的上限為65535。
5.char在儲存的時候會截斷尾部的空格,varchar和text不會。
6.varchar會使用1-3個位元組來儲存長度,text不會。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30089851/viewspace-2131189/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL欄位型別最全解析MySql型別
- mysql表操作(alter)/mysql欄位型別MySql型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- MongoDB更改欄位型別MongoDB型別
- MySQL VARCHAR型別欄位到底可以定義多長MySql型別
- sql語句修改欄位型別和增加欄位SQL型別
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- ES Mapping ,1 欄位型別APP型別
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- 【mongo】mongo 欄位型別互轉Go型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- 地理位置經緯度在Mysql中用什麼欄位型別MySql型別
- Mysql varchar型別欄位為什麼經常定義為255MySql型別
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- sql小筆記(增刪改查——新增列、修改表名、列的欄位型別等)SQL筆記型別
- Oracle 修改欄位型別和長度Oracle型別
- mysql修改表欄位學習筆記MySql筆記
- JSON欄位型別在ORM中的使用JSON型別ORM
- MySQL:count(*) count(欄位) 實現上區別MySql
- mysql 字串型別的數值欄位按照數值的大小進行排序MySql字串型別排序
- Laravel 對於 Mysql 欄位string型別查詢,當使用數字對這個欄位進行查詢,PHP弱型別語言導致索引失效LaravelMySql型別PHP索引
- 14億條記錄,12c 做不到2小時內變更表結構欄位型別?型別
- SqlSugar code first 欄位為列舉型別,預設生成資料庫欄位為bigint如何設定為int型別SqlSugar型別資料庫
- 多型關聯自定義的型別欄位的處理多型型別
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- fastadmin 新增欄位記圖片欄位AST
- MySQL 欄位約束MySql
- MySQL 數值型別溢位處理MySql型別
- ORANCLE 資料已存在,修改欄位型別長度型別
- MySQL資料型別筆記MySql資料型別筆記
- SAP WM中階儲存型別裡的Full stk rmvl 欄位和Return Storage type欄位型別
- 想問下,onethink建立模型的時候建立價格欄位需要2位小數用什麼型別模型型別
- MySQL-刪除欄位MySql
- MySQL 欄位擷取拼接MySql
- MySQL 大欄位問題MySql