選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MySQL 教程

MySQL HOME MySQL Intro MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN and MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL Wildcards MySQL IN MySQL BETWEEN MySQL Aliases MySQL Joins MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL Self Join MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null Functions MySQL Comments MySQL Operators

MySQL 資料庫

MySQL Create DB MySQL Drop DB MySQL Create Table MySQL Drop Table MySQL Alter Table MySQL Constraints MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL Auto Increment MySQL Dates MySQL Views

MySQL References

MySQL Data Types MySQL Functions

MySQL Examples

MySQL Examples MySQL Editor MySQL Quiz MySQL Exercises MySQL Certificate

 MySQL 資料型別


列的資料型別定義了該列可以容納的值:整數、字元、貨幣、日期和時間、二進位制等等。


MySQL 資料型別(版本 8.0)

資料庫表中的每一列都必須有一個名稱和一個數據型別。

SQL 開發人員在建立表時必須決定每列將儲存什麼型別的資料。資料型別是 SQL 理解每列中期望的資料型別的一種指南,它還標識了 SQL 將如何與儲存的資料進行互動。

MySQL 中有三種主要的資料型別:字串、數值和日期時間。

字串資料型別

資料型別 描述
CHAR(size) 固定長度字串(可以包含字母、數字和特殊字元)。size 引數指定列的字元長度,範圍從 0 到 255。預設值為 1。
VARCHAR(size) 可變長度字串(可以包含字母、數字和特殊字元)。size 引數指定列的最大字元長度,範圍從 0 到 65535。
BINARY(size) 等同於 CHAR(),但儲存二進位制位元組字串。size 引數指定列的位元組長度。預設值為 1。
VARBINARY(size) 等同於 VARCHAR(),但儲存二進位制位元組字串。size 引數指定列的最大位元組長度。
TINYBLOB 用於 BLOBs(二進位制大物件)。最大長度:255 位元組。
TINYTEXT 儲存最大長度為 255 個字元的字串。
TEXT(size) 儲存最大長度為 65,535 位元組的字串。
BLOB(size) 用於 BLOBs(二進位制大物件)。儲存最多 65,535 位元組的資料。
MEDIUMTEXT 儲存最大長度為 16,777,215 個字元的字串。
MEDIUMBLOB 用於 BLOBs(二進位制大物件)。儲存最多 16,777,215 位元組的資料。
LONGTEXT 儲存最大長度為 4,294,967,295 個字元的字串。
LONGBLOB 用於 BLOBs(二進位制大物件)。儲存最多 4,294,967,295 位元組的資料。
ENUM(val1, val2, val3, ...) 一種字串物件,只能包含一個值,該值是從可能值列表中選擇的。您可以在 ENUM 列表中列出最多 65,535 個值。如果插入了不在列表中的值,則會插入一個空值。值按您輸入的順序排序。
SET(val1, val2, val3, ...) 一種字串物件,可以包含 0 個或多個值,這些值是從可能值列表中選擇的。您可以在 SET 列表中列出最多 64 個值。


數值資料型別

資料型別 描述
BIT(size) 一種位值型別。每值的位數由size指定。size 引數可以容納 1 到 64 的值。size 的預設值為 1。
TINYINT(size) 非常小的整數。有符號範圍是 -128 到 127。無符號範圍是 0 到 255。size 引數指定最大顯示寬度(為 255)。
BOOL 零被視為 false,非零值被視為 true。
BOOLEAN 等同於 BOOL。
SMALLINT(size) 小的整數。有符號範圍是 -32768 到 32767。無符號範圍是 0 到 65535。size 引數指定最大顯示寬度(為 255)。
MEDIUMINT(size) 中等整數。有符號範圍是 -8388608 到 8388607。無符號範圍是 0 到 16777215。size 引數指定最大顯示寬度(為 255)。
INT(size) 中等整數。有符號範圍是 -2147483648 到 2147483647。無符號範圍是 0 到 4294967295。size 引數指定最大顯示寬度(為 255)。
INTEGER(size) 等同於 INT(size)。
BIGINT(size) 大的整數。有符號範圍是 -9223372036854775808 到 9223372036854775807。無符號範圍是 0 到 18446744073709551615。size 引數指定最大顯示寬度(為 255)。
FLOAT(size, d) 浮點數。總位數由size指定。小數點後的位數由d引數指定。此語法在 MySQL 8.0.17 中已棄用,並且將在未來的 MySQL 版本中移除。
FLOAT(p) 浮點數。MySQL 使用p值來確定是使用 FLOAT 還是 DOUBLE 作為結果資料型別。如果p從 0 到 24,則資料型別為 FLOAT()。如果p從 25 到 53,則資料型別為 DOUBLE()。
DOUBLE(size, d) 正常大小的浮點數。總位數由size指定。小數點後的位數由d引數指定。
DOUBLE PRECISION(size, d)  
DECIMAL(size, d) 精確的定點數。總位數由size指定。小數點後的位數由d引數指定。size 的最大值為 65。d 的最大值為 30。size 的預設值為 10。d 的預設值為 0。
DEC(size, d) 等同於 DECIMAL(size,d)。

注意:所有數值資料型別都可以有一個額外的選項:UNSIGNED 或 ZEROFILL。如果新增 UNSIGNED 選項,MySQL 將不允許該列使用負值。如果新增 ZEROFILL 選項,MySQL 會自動為該列新增 UNSIGNED 屬性。

日期和時間資料型別

資料型別 描述
DATE 日期。格式:YYYY-MM-DD。支援的範圍是 '1000-01-01' 到 '9999-12-31'。
DATETIME(fsp) 日期和時間組合。格式:YYYY-MM-DD hh:mm:ss。支援的範圍是 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。在列定義中新增 DEFAULT 和 ON UPDATE 以實現自動初始化和更新為當前日期和時間。
TIMESTAMP(fsp) 時間戳。TIMESTAMP 值儲存為自 Unix 紀元('1970-01-01 00:00:00' UTC)以來的秒數。格式:YYYY-MM-DD hh:mm:ss。支援的範圍是 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC。可以使用列定義中的 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 指定自動初始化和更新為當前日期和時間。
TIME(fsp) 時間。格式:hh:mm:ss。支援的範圍是 '-838:59:59' 到 '838:59:59'。
YEAR 四位數的年份。四位數格式允許的值:1901 到 2155,以及 0000。
MySQL 8.0 不支援兩位數格式的年份。

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援