当前位置: 首页 > news >正文

mysql解析数据类型_MySQL数据类型全解析

数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则。

数据类型用于以下目的:

1、允许限制可存储在列中的数据。如:数值数据类型列只能接受数值。

2、允许在内部更有效地存储数据。如:用比文本串更简洁的格式存储数值和日期时间值。

3、允许变换排序顺序。如:数据都作为串处理,则1位于10前,10位于2前(串以字典顺序排序,从左边开始比较,一次一个字符);作为数值数据类型,数值才能正确排序。

一、串数据类型

最常用的数据类型,存储串,如名字、地址、电话号码等。

两种基本的串类型:定长串和变长串。

定长串:接受长度固定的字符串,其长度是在创建表时指定的。定长列不允许多于指定的字符数目,它们分配的存储空间与指定的一样多。如:CHAR。

变长串:存储可变长度的文本。有些变长数据类型具有最大的定长,有些则是完全变长的,不管是哪种,只有指定的数据会得到保存(额外的数据不保存),如:TEXT。

PS:MySQL处理定长列远比处理变长列快得多。且MySQL不允许对变长列(或一个列的可变部分)进行索引。

数据类型说明:

CHAR:1~255个字符的定长串。长度必须在创建时指定,否则MySQL假定为CHAR(1)。

ENUM:接受最多64K个串组成的一个预定义集合的某个串。

LONGTEXT:与TEXT相同,但最大长度为4GB。

MEDIUMTEXT:与TEXT相同,但最大长度为16 K。

SET:接受最多64个串组成的一个预定义集合的零个或多个串。

TEXT:最大长度为64 K的变长文本。

TINYTEXT:与TEXT相同,但最大长度为255字节。

VARCHAR:长度可变,最多不超过255字节。如创建时指定为VARCHAR(n),则可存储0到n个字符的变长串(其中n≤255)。

PS:

1、引号:使用何种形式的串数据类型,串值都必须括在引号内(通常使用单引号)。

2、须遵守的基本规则:如果数值是计算(求和、平均等)中使用的数值,则存储在数值数据类型列中。如果数值作为字符串使用,则保存在串数据类型列中。如:在数值字段中存储邮政编码01234,保存的是数值1234,丢失了一位数字。

二、数值数据类型

存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。

支持的取值范围越大,所需存储空间越多。此外,有的数值数据类型支持使用十进制小数点(和小数),而有的则只支持整数。表D-2列出了常用的MySQL数值数据类型。

PS:

1、所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号。有符号数值列可以存储正或负的数值,无符号数值列只能存储正数。

2、默认情况为有符号,若不需要存储负值,可以使用UNSIGNED,这样做将允许你存储两倍大小的值。

3、与串不同,数值不应该在引号内。

4、MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)。

数据类型说明:

BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等价于TINYINT。

BIGINT:整数值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,为0~18446744073709551615的数。

BOOLEAN(或BOOL):布尔标志,为0或者为1,主要用于开/关(on/off)标志。

DECIMAL(或DEC):精度可变的浮点值。

DOUBLE:双精度浮点值

FLOAT:单精度浮点值

INT(或INTEGER):整数值,支持-2147483648~2147483647,UNSIGNED同上。

MEDIUMINT:整数值,支持-8388608~8388607,UNSIGNED同上。

REAL:4字节的浮点值。

SMALLINT:整数值,支持-32768~32767,UNSIGNED同上。

TINYINT:整数值,支持-128~127,UNSIGNED同上。

三、日期和时间数据类型

数据类型说明:

DATE:表示1000-01-01~9999-12-31的日期,格式为YYYY-MM-DD。

DATETIME:DATE和TIME的组合。

TIMESTAMP:功能和DATETIME相同,但范围较小。

TIME:格式为HH:MM:SS。

YEAR:2位数字表示,范围是70~69(1970~2069);4位数字表示,范围是1901~2155

四、二进制数据类型

可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。

数据类型说明:

BLOB:Blob最大长度为64KB。

MEDIUMBLOB:Blob最大长度为16 MB。

LONGBLOB:Blob最大长度为4GB。

TINYBLOB:Blob最大长度为255字节。

以上就是MySQL数据类型全解析的详细内容,更多关于MySQL数据类型的资料请关注脚本之家其它相关文章!

相关文章:

  • 加载mysql驱动失败_Qt MySQL驱动加载失败
  • mysql cluster主从_MySQL-Cluster 和主从(Master,Slave)搭建总结
  • 三级菜单 mysql_PHP+mysql实现的三级联动菜单功能示例
  • php创建mysql数据库表_php创建mysql数据库以及数据表
  • eclipse html 报错_Maven教程6: Maven与Eclipse整合
  • 两台mysql如何同步数据_实现两台MySQL数据库数据的同步的方法
  • mysql 开源表单系统_DWSurvey: DWSurvey是一款方便、高效、实用,基于 JAVA WEB 的开源问卷表单系统...
  • python 判断语句_Python入门系列12-Python的条件判断语句
  • 返回空vector_Java集合之ArrayList的优缺点,以及和Vector的区别
  • mysql 2006_MySQL 2006 超时
  • owncloud mysql版本_搭建owncloud
  • python链接mysql 语句要密码吗_python 链接 mysql数据库
  • 根据excel列动态创建mysql表_根据数据库字段动态生成excel模版下载,上传模版获取数据存入数据库(poi 反射)...
  • matlab 等高线数值显示_matlab条形图显示数值
  • springmvc mysql配置_springMVC3.2+spring3.2.4+hibernate 4.2.4+MySQL环境配置
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Javascript弹出层-初探
  • JS数组方法汇总
  • Rancher-k8s加速安装文档
  • scala基础语法(二)
  • Unix命令
  • Vue 重置组件到初始状态
  • zookeeper系列(七)实战分布式命名服务
  • 安卓应用性能调试和优化经验分享
  • 通过git安装npm私有模块
  • 我们雇佣了一只大猴子...
  • (03)光刻——半导体电路的绘制
  • (16)Reactor的测试——响应式Spring的道法术器
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (ZT)薛涌:谈贫说富
  • (八)Flask之app.route装饰器函数的参数
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (一)SpringBoot3---尚硅谷总结
  • (转)德国人的记事本
  • (转载)Linux 多线程条件变量同步
  • .cn根服务器被攻击之后
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Framework杂记
  • .net 程序发生了一个不可捕获的异常
  • ?
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @EventListener注解使用说明
  • @ModelAttribute 注解
  • @基于大模型的旅游路线推荐方案
  • [BZOJ] 2044: 三维导弹拦截
  • [c++] C++多态(虚函数和虚继承)