MySQL数据类型详解

写在前面。utf-8字符集的数据库,一个汉字占3个字节。一个数字和一个字母都各占1个字节

一、数字数据类型
  • 整数类型(精确值)——INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT
类型存储(字节最小值(有符号)最小值(无符号)最大值(有符号)最大值(无符号)
TINYINT1-1280127255
SMALLINT2-3276803276765535
MEDIUMINT3-83886080838860716777215
INT4-2147483648021474836474294967295
BIGINT8-2的63次方02的63次方-12的64次方-1
  • 定点类型(精确值)- DECIMAL、NUMERIC。
    DECIMAL和NUMERIC 类型的存储精确的数值数据。这些类型用于保持精确精度很重要的情况。例如:DECIMAL(5,2) 表示具有五位数字和两位小数的任何值,因此可以存储的范围值从-999.99到 999.99.
  • 浮点类型(近似值)- FLOAT、DOUBLE。
类型存储(字节)范围(有符号)范围(无符号)
FLOAT4(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)
DOUBLE8(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
  • BIT(M) 位值类型。位数从 1 到 64。如果省略,则默认为 1
二、日期和时间数据类型
类型存储(字节)范围格式
DATE31000-01-01/9999-12-31YYYY-MM-DD
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS
YEAR11901/2155YYYY
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS
TIMESTAMP41970-01-01 00:00:01/2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS

注意:

  • TIME缩写值时要小心。
    MySQL 将TIME带有冒号的缩写值解释为一天中的时间。也就是说,'11:12’意味着 ‘11:12:00’,而不是 ‘00:11:12’。
三、字符串数据类型
类型存储(字节)用途
CHAR0-255定长字符串
VARCHAR0-65535变长字符串
TINYBLOB0-255不超过 255 个字符的二进制字符串
TINYTEXT0-255短文本字符串
BLOB0-65 535二进制形式的长文本数据
TEXT0-65 535长文本数据
MEDIUMBLOB0-16 777 215二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215中等长度文本数据
LONGBLOB0-4 294 967 295二进制形式的极大文本数据
LONGTEXT0-4 294 967 295极大文本数据

注意

  • char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符

注:其他类型(空间数据类型,JSON数据类型等)可以查看官网api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值