首页 > 数据库 >MySQL 8.0支持哪些数据类型?

MySQL 8.0支持哪些数据类型?

时间:2023-11-23 13:55:51浏览次数:39  
标签:8.0 数据类型 占用 bytes 类型 MySQL 空间

数值数据类型

整数类型:

  • TINYINT: 微型整数类型;占用1 bytes空间;有符号支持的范围:-128 ~ 127; 无符号支持的范围:0 ~ 255
  • SMALLINT: 小型整数类型;占用2 bytes空间;有符号支持的范围:-32768 ~ 32767;无符号支持的范围:0 ~ 65535
  • MEDIUMINT:中型整数类型;占用3 bytes空间;有符号支持的范围:-8388608 ~ 8388607;无符号支持的范围:0 ~ 16777215
  • INT,INTEGER:常规整数类型;占用4 bytes空间;有符号支持的范围:-2147483648 ~ 2147483647;无符号支持的范围:0 ~ 4294967295
  • BIGINT:大型整数类型;占用8 bytes空间;有符号支持的范围:-2^63^ ~ 2^63^-1;无符号支持的范围:0 ~ 2^64^-1

小数类型:

  • FLOAT:浮点数数据类型;FLOAT(n):如果0 <= n <= 24占用4 bytes,如果25 <= b <= 53占用8 bytes;FLOAT:不指定位数个数则可占用4 bytes;FLOAT(M,N):M表示总位数,N表示小数位数。
  • DOUBLE [PRECISION],REAL:双精度小数类型;占用8 bytes;DOUBLE(M,N):M表示总位数,N表示小数位数;REAL已经被弃用。
  • DECIMAL(M,D), NUMERIC(M,D):小数数据类型;占用0 ~ 8 bytes;DECIMAL(M,N):M表示总位数,N表示小数位数。

BIT类型:

  • BIT(M):存储BIT值的数据类型,M的取值范围是1 ~ 64;占用(M+7)/8 bytes

date和time数据类型

  • DATE:存储日期,格式为:yyyy-mm-dd;MySQL 5.6.4版本之前占用3 bytes,MySQl 5.6.4版本之后占用3 bytes
  • TIME:存储时间,格式为:HH:MM:SS;MySQL 5.6.4版本之前占用3 bytes,MySQL 5.6.4版本之后占用3 ~ 6 bytes
  • YEAR:存储年份,格式为:yyyy;占用1 bytes
  • DATETIME:存储日期与时间,格式为yyyy-mm-dd HH:MM:SS,MySQL 5.6.4版本之前占用8 bytes,MySQL 5.6.4版本之后占用5 ~ 8 bytes
  • TIMESTAMP:存储日期与时间,格式为yyyy-mm-dd HH:MM:SS,存储的时间范围是1970年1月1日到2023年1月19日;MySQL 5.6.4版本之前占用4 bytes,MySQL 5.6.4版本之后占用4 ~ 7 bytes

字符数据类型

  • CHAR:定长字符类型;允许存储0 ~ 255个字符;字符集不同每个字符占用的空间不同(假设1个字符占用 W bytes),所以CHAR(M)占用M * W bytes空间。
  • VARCHAR:可变长度字符类型;允许存储0 ~ 65535个字符;如果存储 0 到 255 个字符,占用L + 1 bytes空间。如果列值占用> 255 bytes,则占用L + 2 bytes空间。
  • BINARY:定长二进制字符类型;允许存储0 ~ 255个字符,占用0 <= M <= 255 bytes空间。
  • VARBINARY:可变长度字符类型;允许存储0 ~ 65535个字符;如果存储 0 到 255 个字符,占用L + 1 bytes空间。如果列值占用> 255 bytes,则占用L + 2 bytes空间。
  • TINYBLOB,TINYTEXT:微型大对象数据类型;列字符串实际占用空间L < 2^8^ bytes,则占用L + 1 bytes空间。
  • MEDIUMBLOB,MEDIUMTEXT:中型大对象类型;列字符串实际占用空间L < 2^24^ bytes,则占用L + 3 bytes空间。
  • BLOB,TEXT:常规大对象数据类型;列字符串实际占用空间L < 2^16^ bytes,则占用L + 2 bytes空间。
  • LONGBLOB,LONGTEXT:大型大对象数据类型;列字符串实际长度L < 2^32^ bytes,则占用L + 4 bytes空间。
  • ENUM:枚举字符类型;ENUM('value1','value2',...),1 bytes, 2 bytes取决于枚举值的数量(最大支持65535个值)。
  • SET: 集合字符类型;SET('value1','value2',...),1 bytes,2 bytes,3 bytes,4 bytes,8 bytes,取决于集合成员的数量(最多支持64个成员)。

备注:

  • nonbinary类型:M表示字符个数;
  • binary类型:M表示字符串占用的bytes值。
  • L表示字符串占用的bytes值。

地理空间数据类型

地理空间数据类型请参考:MySQL 8.0: Spatial Data Types

JSON数据类型

JSON数据类型请参考:MySQL 8.0: The JSON Data Type


参考:

标签:8.0,数据类型,占用,bytes,类型,MySQL,空间
From: https://www.cnblogs.com/haha029/p/17851384.html

相关文章

  • 影响MySQL 8.0单列索引长度的因素有哪些?
    MySQL8.0支持的单列索引长度最大是3072bytes,影响单列索引长度的因素有哪些:innodb_page_size:InnoDB页大小,默认是16KB。支持5种size:4k、8k、16k、32k、64k。row_format:表的行格式,默认是“dynamic”。支持6种格式:DEFAULT、DYNAMIC、FIXED、COMPRESSED、REDUNDANT、COMPACT。......
  • 一个基于php+mysql的外卖订餐网站(带源码)
    订饭组一个基于php+mysql的外卖订餐网站,包括前端和后台。测试账号:admin密码:admin运行环境:Apache+PHP+Mysql代码说明htaccessRewrite配置文件,需要放入到项目根目录configs.php需要配置数据库连接信息(主机、用户名、密码),系统常量等data.sql位于data目录中,是数据库备份文件,需要提......
  • MIT18.06Linear Algebra 第13讲 复习一
    转载于:超详细MIT线性代数公开课笔记......
  • mysql大数据量的分页慢优化
    例子这边通过一张40w条记录的表来说明一下优化大数据量表分页慢的思路表单自带拼接语句SELECTtbPage.*FROM(SELECTtbTemp.*,row_number()over(ORDERBYID)-1ASrownum__FROM(SELECT__T1.IDA......
  • 05MYSQL
    python操作MySQLpython中支持操作MySQL的模块很多其中最常见的当属'pymysql'#属于第三方模块pip3installpymysql(需要安装,可以直接在pycharm中打出来,然后会提示安装)#基本使用importpymysql#1.链接服务端淡黄色表示必须要写的前戏conn_obj=pymysql.......
  • centos7安装MySQL—以MySQL5.7.30为例
    centos7安装MySQL—以MySQL5.7.30为例本文以MySQL5.7.30为例。官网下载进入MySQL官网:https://www.mysql.com/点击DOWNLOADS点击链接;点击如上链接:选择对应版本:点击下载。安装将下载后的安装包上传到/usr/local下。卸载删除原有的mariadb,否则可能会报异常查询原有......
  • 数据类型转换
    一、数据类型转换的种类有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。Python数据类型转换可以分为两种:隐式类型转换-自动完成显式类型转换-需要使用类型函数来转换(一)隐式类型转换在隐式类型转换中,Python会自......
  • 数据类型及其操作
    Task03:数据类型和操作DataTypesandOperators数据类型1,整数Intger(int)2,浮点数Float3,布尔值Boolean(bool)4,类型Type("Type也是·一种类型")严格的来说,Type是一种类的对象,python是一门“面向对象友好”的语言print(type(2))<class'int'>print(type(2.2))<class'float......
  • Linux系统下进入Mysql
    1、首先查看是否安装mysqlservicemysqldstart2、启动mysql服务systemctlstartmysqld.service 没报错就启动成功。3、查看mysql运行状态servicemysqldstatus出现绿色启动成功!4、进入数据库mysql-uroot-p密码一般为123456也可以输入命令:查看初始密......
  • pgsql 和 mysql语法对比
    超全mysql转换postgresql数据库方案https://blog.csdn.net/weixin_42303757/article/details/128896250?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-128896250-blog-131395729.235%5Ev38%5Epc_relevant_anti_t......