Menu
×
   ❮     
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 主页 MySQL 简介 MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL 空值 MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 连接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自连接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL 空函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 修改表 MySQL 约束 MySQL 非空 MySQL 唯一 MySQL 主键 MySQL 外键 MySQL 检查 MySQL 默认值 MySQL 创建索引 MySQL 自动递增 MySQL 日期 MySQL 视图

MySQL 参考

MySQL 数据类型 MySQL 函数

MySQL 例子

MySQL 例子 MySQL 编辑器 MySQL 测验 MySQL 练习 MySQL 证书

 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 用于 BLOB(二进制大型对象)。最大长度:255 字节
TINYTEXT 保存最大长度为 255 个字符的字符串
TEXT(size) 保存最大长度为 65,535 字节的字符串
BLOB(size) 用于 BLOB(二进制大型对象)。保存高达 65,535 字节的数据
MEDIUMTEXT 保存最大长度为 16,777,215 个字符的字符串
MEDIUMBLOB 用于 BLOB(二进制大型对象)。保存高达 16,777,215 字节的数据
LONGTEXT 保存最大长度为 4,294,967,295 个字符的字符串
LONGBLOB 用于 BLOB(二进制大型对象)。保存高达 4,294,967,295 字节的数据
ENUM(val1, val2, val3, ...) 一个字符串对象,只能从可能的列表中选择一个值。可以在 ENUM 列表中列出最多 65535 个值。如果插入的值不在列表中,则会插入一个空值。这些值按您输入的顺序排序
SET(val1, val2, val3, ...) 一个字符串对象,可以从可能的列表中选择 0 个或多个值。可以在 SET 列表中列出最多 64 个值


数值数据类型

数据类型 描述
BIT(size) 位值类型。每个值的位数在 size 中指定。size 参数可以保存 1 到 64 之间的值。size 的默认值为 1。
TINYINT(size) 一个非常小的整数。带符号范围为 -128 到 127。无符号范围为 0 到 255。size 参数指定最大显示宽度(为 255)
BOOL 零被视为假,非零值被视为真。
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 不支持两位数格式的年份。

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.