mysql bytes的型別 MySQL 資料型別

2021-10-18 08:59:28 字數 2100 閱讀 2887

mysql支援主流的資料型別,可以分為3類:數值、日期/時間、字串(字元)型別。在後期對mysql進行效能優化時,資料型別影響很大。

數值型別

mysql支援所有標準sql數值資料型別。

這些型別包括嚴格數值資料型別(integer、smallint、decimal和numeric),以及近似數值資料型別(float、real和double precision)。

整數型別:bit、bool、tiny int、small int、medium int、 int、 big int

浮點數型別:float、double、decimal

bit資料型別儲存位字段值,並且支援myisam、memory、innodb和bdb表。

作為sql標準的擴充套件,mysql也支援整數型別tinyint、mediumint和bigint。下面的表顯示了需要的每個整數型別的儲存和範圍。

型別大小用途

tinyint1 byte小整數值

smallint2 bytes大整數值

mediumint3 bytes大整數值

int或integer4 bytes大整數值

bigint8 bytes極大整數值

float4 bytes單精度

浮點數值

double8 bytes雙精度

浮點數值

decimal對decimal(m,d) ,如果m>d,為m+2否則為d+2小數值

日期和時間型別

表示時間值的日期和時間型別為datetime、date、timestamp、time和year。

每個時間型別有乙個有效值範圍和乙個」零」值,當指定不合法的mysql不能表示的值時使用」零」值。

其中,timestamp型別有專有的自動更新特性,若定義乙個欄位為timestamp,這個欄位裡的時間資料會隨其他字段修改的時候自動重新整理,所以這個資料型別的字段可以存放這條記錄最後被修改的時間。

型別大小

( bytes)格式用途

date3yyyy-mm-dd日期值

time3hh:mm:ss時間值或持續時間

year1yyyy年份值

datetime8yyyy-mm-dd hh:mm:ss混合日期和時間值

timestamp4yyyymmdd hhmmss混合日期和時間值,時間戳

字串型別

字串型別指char、varchar、binary、varbinary、blob、text、enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。

型別大小用途

char0-255 bytes定長字串

varchar0-65535 bytes變長字串

tinyblob0-255 bytes不超過 255 個字元的二進位制字串

tinytext0-255 bytes短文本字串

blob0-65 535 bytes二進位制形式的長文字資料

text0-65 535 bytes長文字資料

mediumblob0-16 777 215 bytes二進位制形式的中等長度文字資料

mediumtext0-16 777 215 bytes中等長度文字資料

longblob0-4 294 967 295 bytes二進位制形式的極大文字資料

longtext0-4 294 967 295 bytes極大文字資料

char和varchar

char(n) 若存入字元數小於n,則以空格補於其後,查詢之時再將空格去掉。所以char型別儲存的字串末尾不能有空格,varchar不限於此。

char(n) 固定長度,char(4)不管是存入幾個字元,都將占用4個位元組,varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字元將占用4個位元組。

char型別的字串檢索速度要比varchar型別的快。

blob 是乙個二進位製大物件,可以容納可變數量的資料。有 4 種 blob 型別:tinyblob、blob、mediumblob 和 longblob。它們區別在於可容納儲存範圍不同。

有 4 種 text 型別:tinytext、text、mediumtext 和 longtext。對應的這 4 種 blob 型別,可儲存的最大長度不同,可根據實際情況選擇。

perl中my與local的區別

x 9 sub mm sub gg my sub gg local gg my gg local print x 輸出結果是 call my 11 9 call local 20 20 9 可以看出,local函式在建立全域性變數的乙個區域性例項後即可 將它傳遞給任何子例程並繼續進行區域性初始賦值。...

my97DatePicker的基本使用

開始日 結束日 min代表選擇日期的最小值min laydate.now 1 最小選擇日期為昨天min laydate.now 最小選擇日期為今天min laydate.now 1 最小選擇日期為明天start代表游標指向的位置start laydate.now 1 游標指向昨天start layd...

詳解如何使用DockerHub官方的MySQL映象

前言 最近一直在嘗試以官方centos映象為基礎,製作基於centos的mysql映象。但是製作後發現映象大小已經超過1.5g,這對於一般的docker映象來說太臃腫了。docker hub官方提供的mysql映象才324mb。目前來說我還沒有找到什麼好的方法把我製作的映象的體積減下來,所以就先使用...