MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型:

日期和时间类型:

字符串类型:

MySQL中char、varchar和text三者的区别

在MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以。

它们的存储方式和数据的检索方式也都不一样。

数据的检索效率是:char >varchar >text

具体说明:

char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充),且在检索的时候后面的空格会隐藏掉,所以检索出来的数据需要记得用什么trim之类的函数去过滤空格。

varchar:存储变长数据,但存储效率没有CHAR高,必须在括号里定义长度,可以有默认值。保存数据的时候,不进行空格自动填充,而且如果数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。

text:存储可变长度的非Unicode数据,最大长度为2^31-1个字符。text列不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入。

关于存储空间:

在使用UTF8字符集的时候,MySQL手册上是这样描述的:

基本拉丁字母、数字和标点符号使用一个字节;

大多数的欧洲和中东手写字母适合两个字节序列:扩展的拉丁字母(包括发音符号、长音符号、重音符号、低音符号和其它音符)、西里尔字母、希腊语、亚美尼亚语、希伯来语、阿拉伯语、叙利亚语和其它语言;

韩语、中文和日本象形文字使用三个字节序列。

结论:

1、经常变化的字段用varchar;

2、知道固定长度的用char;

3、超过255字节的只能用varchar或者text;

4、能用varchar的地方不用text;

5、能够用数字类型的字段尽量选择数字类型而不用字符串类型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了;

6、同一张表出现多个大字段,能合并时尽量合并,不能合并时考虑分表

mysql抑音符_MySQL-数据类型相关推荐

  1. mysql f参数_MySQL 数据类型

    常用字段类型 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:DATETIME , ...

  2. mysql实型_mysql 数据类型

    1.整型 类型 大小 范围(有符号) 范围(无符号) 用途 tinyint 1 字节 (-128,127) (0,255) 小整数值 smallint 2 字节 (-32 768,32 767) (0 ...

  3. mysql 类型解释_MySQL 数据类型说明解释

    在 MySQL 中,有三种主要的类型:Text(文本).Number(数字)和 Date/Time(日期/时间)类型. Text 类型: 数据类型描述 CHAR(size) 保存固定长度的字符串(可包 ...

  4. mysql 优化 类型_MySQL数据类型的优化选择

    整数类型: Tinyint-8 Smallint-16 Mediumint-24 Int-32 Bigint-64 实数类型(带有小数部分的数字) Float-4/double-8:浮点 Decima ...

  5. mysql类型说明_MYSQL 数据类型说明

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述. ...

  6. mysql 数据类_MySQL数据类型

    四.字符串类型 在MySQL中,字符串类型包括CHAR.VARCHAR.BLOB.TEXT.ENUM.SET. 1.CHAR与VARCHAR 其定义方式为: 字符串类型(M) 这个M是长度的意思,插入 ...

  7. mysql技术简介_MySQL数据类型介绍

    前言 数据类型(data_type)是指系统中所允许的数据的类型.数据库中的每个列都有适当的数据类型,它用于限制或允许该列中可以存储什么样的数据. MySQL数据类型 1.数值类型 数值类型包括严格数 ...

  8. mysql long类型_MySQL数据类型笔记

    引言 作为一个做Java后端的开发者,无论是在自己平时项目学习实战还是工作中的真实项目,都离不开和数据库打交道.而MySQL作为当今最流行的关系型数据库之一,也成为了我们必须掌握的一门技术.最近在工作 ...

  9. mysql 负数类型_MySQL数据类型详解

    MySQL数据类型,可以被分为3类:数值类型.日期和时间类型以及字符串(字符)类型 方括号("["和"]")指出可选的类型修饰符的部分 M 指出最大的显示尺寸. ...

最新文章

  1. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来
  2. Luogu5285 [十二省联考2019] 骗分过样例
  3. CentOS7 systemctl tomcat常用配置
  4. 为资产分类定义折旧范围_RFID固定资产管理系统方案
  5. Jmeter 使用badyboy 录制脚本
  6. Visual C++ 6.0静态、动态链接库
  7. 黑鲨4S磁动力升降肩键将全面升级:颜值和按压手感稳步提升
  8. HTML新增便签source语义,互联网的原理,常用标签,标签分类,HTML杂项,CSS
  9. 自媒体各大平台收益对比_自媒体推广平台都有哪些?
  10. 私域运营之“小程序商城微信生态工具运营”——分销系统
  11. html 去掉右键菜单,右键菜单管理清除多余项目的方法教程
  12. 神经网络参数初始化方法
  13. 幻数 linux_查找第n个幻数
  14. Unity3d任务模型自动寻路(人员疏散)
  15. [句子成分] 三、宾语
  16. NLP-神经语言模型:文本生成
  17. 浅谈人行二代征信对接申请及接入验收流程
  18. 二价--无穷价阴阳鱼函式
  19. DE0-Nano-SoC开发板诡异的电源电路方案设计分析
  20. Python全栈开发【模块】

热门文章

  1. 文献记录(part5)--Robust biclustering by sparse singular value decomposition incorporating stability ...
  2. 小白的算法初识课堂(part2)--选择排序
  3. html课表插件,课程表插件Timetables(原创)
  4. java8方法引用符合_java8,方法引用
  5. python找出只出现一次的数字_Python数组中只出现一次的数字
  6. 一线城市数据分析师的薪资分布......
  7. SAP UI5 初学者教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解试读版
  8. 如何打印出 SAP Spartacus 调用 OCC API 消费的所有 endpoint
  9. Linux Boot,Kernel 和 Service 介绍
  10. 深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同