MySQL表数据存储大小说明

MySQL中规定,任何一条记录(数据表中每行数据)理论上的最大存储容量为 2^16 - 1 (Bytes) = 65535字节。

MySQL数据类型思维导图

MySQL数据类介绍

1.数值型

数值型数:都是数值,DBMS将数值型分为整数型和小数型。

(DBMS默认使用有符号数值型整数类型,SQL语句 ......数值型 unsigned...... 表示使用无符号整数类型。)

整数型

tinyint:使用1个字节进行存储数据,小整数;

smallint:使用2个字节进行存储数据

mediumint:使用3个字节进行存储

int/intege:标准整型,使用4个字节存储数据(常用数据类型)

bigint:使用8个字节存储数据,大整数。

小数型(浮点型)

float:使用4个字节进行存储数据

float表示沒有小数部分

float(M,D) M表示数据总长度,D表示小数部分长度,M-D表示整数部分长度

double:使用8个字节进行存储数据

double表示沒有小数部分

double(M,D) M表示数据总长度,D表示小数部分长度,M-D表示整数部分长度

小数型(定点型)

decimal:

double表示沒有小数部分

double(M,D) M表示数据总长度,D表示小数部分长度,M-D表示整数部分长度

2.时间日期类型

datetime:时间日期,格式是YYYY-mm-dd HH:mm:ss, 表示范围从1000到9999年,有0值:0000-00-00 00:00:00

date:日期,就是datatime中data部分

time:时间,指定某个时间,可以是负数

year:格式YYYY表示某年,可以使用2位数,也可以使用4位数

timestamp:时间戳,只要所在记录被更新,时间戳会被更新成现在的时间。

3.字符串类型

定长字符串

char(L):L代表length,可以存储的长度,单位为字符,最大长度255。

char(4):在UTF8环境下,需要4 * 3 = 12字节

变长字符串:根据具体数据大小分配存储空间

varchar(L):L代表length,可以存储的长度,理论长度是65536个字符

文本字符串

文本字符串根据存储的数据格式可以分为text和blob

text:存储长文本字符

blob:存储二进制数据(通常不使用)

枚举字符串

枚举:enum,将日后所有可能出现的数据结果在数据库建表时的字段声明中设计完成,实际业务中存储的数据必须是规定好的数据。

枚举的使用方式

定义:enum(可能出现的元素列表); -- 如 gender enum('男','女','保密');

create table gender_tables(

gender enum('男', '女', '保密');

) charset utf8;

使用:只能存储预定义数据。insert into tablename value(......, '男', ......);枚举实际存储的是数值,可以直接向表中枚举字段插入数字,也可以插入字符串。

或insert into gender value(....., 0, ......);

枚举字符串类型的原理

枚举数据类型使用1-2个字节进行存储数据。若DBMS使用2个字节进行存储数据。那么该DBMS中任一个枚举数据类型最大枚举选项量为65536个。实际业务数据中,枚举数据类型都只有较小的数据量。原理:枚举实际存储的是数值,可以直接向表中枚举字段插入数字。建表时,枚举数据类型在数据规范的时候(定义时),系统会自动建立一个数字与枚举元素的对应关系存放到日志中。在进行数据插入的时候,系统自动将字符转换成对应的数字进行存储;在数据提取的时候,DBMS自动将数据转换为对应的字符串进行显示或者传值。如果数据库信息量巨大,记录条数(数据表的行数)繁多,可以省很多存储空间,规范了数据。但是系统存储效率会有所降低。

集合字符串

集合数据类型跟枚举数据类型似:实际存储的是数值,不是字符串(集合可存储多个数字)

枚举的使用方式

定义:set(元素列表); -- 如 hobby set('网球','乒乓球','游泳','跑步');

-- 结合中每一个元素都对应一个二进制位。

create table set_tables(

hobby set('网球','乒乓球','游泳','跑步');

) charset utf8;

使用:只能存储预定义数据。insert into tablename value(......, '男', ......);枚举实际存储的是数值,可以直接向表中枚举字段插入数字,也可以插入字符串。

insert into set_tables value('乒乓球','游泳','跑步'); insert into set_tables value(2^n); 参见B站 mysql精通视频。

mysql lint的范围_【MySQL】MySQL数据类型相关推荐

  1. mysql可以存布尔_哪个MySQL数据类型用于存储布尔值

    由于MySQL似乎没有任何"布尔"数据类型,你滥用'哪种数据类型'来存储MySQL中的真/假信息? 特别是在写入和读取PHP脚本的上下文中. 随着时间的推移,我使用并看到了几种方法 ...

  2. mysql经度纬度类型_在MySQL数据库中存储纬度/经度时使用的理想数据类型是什么?...

    Gajus.. 41 取决于您需要的精度. Datatype Bytes resolution ------------------ ----- --------------------------- ...

  3. 深入浅出mysql唐汉名_深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎 - 数据类型 - 字符集和校验规则 -...

    create schema deepInMySql; use deepInMySql; -- 查看当前默认存储引擎 show variables like '%table_type%'; -- 查看当 ...

  4. mysql 中有什么命令_常用mysql命令大全

    常用的MySQL命令大全 连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命 ...

  5. mysql数据库建仓范式_存mysql个数

    MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...

  6. mysql 数据库安装命令_数据库mysql安装及最基本命令

    1.安装官网:http://www.mysql.com即可下载,百度经验贴见:如何在官网上下载可安装版的MySQL数据库 + my.ini文件.(文件必须安在C盘的根目录下) 命令:在命令提示符中,以 ...

  7. mysql 如何对表排序_学习MySQL:对表中的数据进行排序和过滤

    mysql 如何对表排序 In this article, we will learn how we can sort and filter data using the WHERE clause a ...

  8. mysql 5.6参数_初识 MySQL 5.6 新功能、参数

    摘要: MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不定时更新). 一:性能.功能上的提升. ① 在线DDL即 onli ...

  9. mysql数据库范围之内_是mysql范围

    MySQL数据类型-decimal详解 1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal ...

最新文章

  1. 创建数据库时指定编码方式
  2. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
  3. Rust学习资料大全
  4. .Net Core实现区块链初探
  5. android 网络协议
  6. selenium切换窗口
  7. windows cmd命令行命令
  8. linux-centos6.5一键安装 Redmine
  9. 基于微信小程序的点餐系统设计
  10. Android smali语法
  11. [虾神GIS制图课堂]四色地图配色法
  12. 越喜欢村上春树,就越懂得生活
  13. java分词器加词库_Elasticsearch配置IK分词器的远程词库
  14. 数据结构与算法—前导
  15. 蓝桥杯python试题 基础练习 Fibonacci数列
  16. java 关键字6,【JAVA SE基础篇】6.开始前的一些规定以及关键字
  17. KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
  18. 大陆身份证校验——Oracle版本
  19. 【批处理】一键重构Windows图标缓存------解决win10部分图标加载问题
  20. slot/slot-scope is deprecated, consult docs for better alternative

热门文章

  1. python pip install如何解决安装包read time out报错
  2. 高速上车辆追尾无法移动 众人齐力抬车温暖归途
  3. PIE SDK打开静止卫星数据
  4. ACL 2018最佳论文公布!计算语言学最前沿研究都在这里了
  5. (一)检测浏览器是否支持websocket
  6. postgresql之数据库管理
  7. Java NIO使用及原理分析(三)
  8. 中国大概能用的NTPserver地址
  9. centos搭建kvm
  10. 对数函数定义域和值域为r_100观察法求函数的值域