首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 存儲引擎與數據類型精華:引擎選擇、整數/浮點/定點/日期/字符串/二進制全對比

     編輯:MySQL 資料庫相關知識

存儲引擎核心操作

SHOW ENGINES\G;                    -- 所有引擎支援情況
SHOW VARIABLES LIKE 'have_%';      -- 編譯時是否包含
SHOW VARIABLES LIKE 'storage_engine'; -- 當前預設引擎

-- 修改預設引擎(my.ini)
[mysqld]
default-storage-engine=INNODB

圖形化向導安裝時:Multifunctional Database → InnoDB;Non-Transaction → MyISAM。

數據類型完整對照表

1. 整數類型(精確)

類型字節有符號範圍無符號範圍
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT / INTEGER4-2147483648 ~ 21474836470 ~ 4294967295
BIGINT8-9.22e18 ~ 9.22e180 ~ 1.84e19

查看細節:HELP TINYINT; 等。

2. 浮點/定點/位類型

類型字節精度/用途
FLOAT4單精度,約 7 位有效數字
DOUBLE8雙精度,約 15 位,需較高精度時選擇
DECIMAL(M,D) / DEC(M,D)M+2精確定點數,M 總位數(含小數點)、D 小數位,**金額首選**
BIT(N)1~8位域,N=1~64

例:DECIMAL(18,4) → 1 位小數點 + 4 位小數 = 13 位整數。

3. 日期時間類型

類型字節範圍/格式典型用途
DATE41000-01-01 ~ 9999-12-31生日、入職日期
DATETIME81000-01-01 00:00:00 ~ 9999-12-31 23:59:59通用時間戳
TIMESTAMP41970-01-01 ~ 2038-01-19,時區感知自動記錄創建/更新時間
TIME3-838:59:59 ~ 838:59:59時長、鬧鐘
YEAR11901 ~ 2155僅需年份,節省空間

超出範圍會插入「零值」(0000-00-00 等)。

4. 字符串類型

類型最大長度特點編碼佔用
CHAR(M)255 字符定長,右側補空格UTF8: 1漢字=3B, GBK: 2B
VARCHAR(M)65535 字符變長,1-2 字節存長度同上
TINYTEXT255 B不指定長度—
TEXT64 KB——
MEDIUMTEXT16 MB——
LONGTEXT4 GB——

5. 二進制/Blob 類型

類型對應文本類型用途
BINARY / VARBINARYCHAR / VARCHAR存儲二進制(圖片、加密數據),按字節比較
TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOBTINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT大對象存儲(圖片、音視頻)

選型原則:**文本用 TEXT 系,二進制用 BLOB 系**;超過 64KB 建議用 MEDIUM/LONG 並考慮對象存儲外部化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved