位置: 编程技术 - 正文

MySQL 数据类型 详解(mysql数据类型怎么判断)

编辑:rootadmin

推荐整理分享MySQL 数据类型 详解(mysql数据类型怎么判断),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql 数据类型 宿舍号属于那种类型的,mysql数据类型分为哪几种,mysql数据类型怎么判断,mysql数据类型分为哪几种,mysql数据类型怎么判断,mysql 数据类型 宿舍号属于那种类型的,mysql数据类型怎么判断,mysql数据类型怎么判断,内容如对您有帮助,希望把文章链接给更多的朋友!

1、整型

MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-~) smallint(m) 2个字节 范围(-~) mediumint(m) 3个字节 范围(-~) int(m) 4个字节 范围(-~) bigint(m) 8个字节 范围(+-9.*的次方)

取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~)。 int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。

2、浮点型(float和double)

MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 位精度(8字节) m总个数,d小数位

设一个字段定义为float(5,3),如果插入一个数.,实际数据库里存的是.,但总个数还以实际为准,即6位。

3、定点数

浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。 decimal(m,d) 参数m< 是总个数,d<且 d<m 是小数位。

4、字符串(char,varchar,_text)

MySQL数据类型 含义 char(n) 固定长度,最多个字符 varchar(n) 固定长度,最多个字符 tinytext 可变长度,最多个字符 text 可变长度,最多个字符 mediumtext 可变长度,最多2的次方-1个字符 longtext 可变长度,最多2的次方-1个字符

char和varchar:1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。 2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=)或2个字节(n>),所以varchar(4),存入3个字符将占用4个字节。 3.char类型的字符串检索速度要比varchar类型的快。varchar和text: 1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=)或2个字节(n>),text是实际字符数+2个字节。 2.text类型不能有默认值。 3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

5.二进制数据(_Blob)

1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。 2._BLOB存储的数据只能整体读出。 3._TEXT可以指定字符集,_BLO不用指定字符集。

6.日期时间类型

MySQL数据类型 含义 date 日期 '--2' time 时间 '::' datetime 日期时间 '--2 ::' timestamp 自动存储记录修改时间

若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

数据类型的属性

MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT 自动递增,适用于整数类型 UNSIGNED 无符号 CHARACTER SET name 指定一个字符集

表列出了各种数值类型以及它们的允许范围和占用的内存空间。

类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-,) (0,) 小整数值 SMALLINT 2 字节 (- , ) (0, ) 大整数值 MEDIUMINT 3 字节 (-8 ,8 ) (0, ) 大整数值 INT或INTEGER 4 字节 (-2 ,2 ) (0,4 ) 大整数值 BIGINT 8 字节 (-9 ,9 ) (0, ) 极大整数值 FLOAT 4 字节 (-3. E+,1. E-),0,(1. E-,3. E+) 0,(1. E-,3. E+) 单精度 浮点数值 DOUBLE 8 字节 (1. 7 E+,2. 4 E-),0,(2. 4 E-,1. 7 E+) 0,(2. 4 E-,1. 7 E+) 双精度 浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

INT 类型

  在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。

  MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。

  万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为 0。

  UNSIGNED 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。从而增大这个字段可以存储的值的范围。

  ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。

FLOAT、DOUBLE 和 DECIMAL 类型

  MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。

  与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。

MySQL 数据类型 详解(mysql数据类型怎么判断)

  对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。

  DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的位数。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位。

  忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 ,计算方法设置为 0。

  UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用。并且效果与 INT 数据类型相同。

字符串类型

  MySQL 提供了 8 个基本的字符串类型,可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。

类型 大小 用途 CHAR 0-字节 定长字符串 VARCHAR 0-字节 变长字符串 TINYBLOB 0-字节 不超过 个字符的二进制字符串 TINYTEXT 0-字节 短文本字符串 BLOB 0- 字节 二进制形式的长文本数据 TEXT 0- 字节 长文本数据 MEDIUMBLOB 0- 字节 二进制形式的中等长度文本数据 MEDIUMTEXT 0- 字节 中等长度文本数据 LOGNGBLOB 0-4 字节 二进制形式的极大文本数据 LONGTEXT 0-4 字节 极大文本数据 CHAR 和 VARCHAR 类型

  CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

  CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。

  CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0- 之间的指示器。CHAR 和 VARCHGAR 不同之处在于 MuSQL 数据库处理这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度(增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。

  因为 VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。

  VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同。

TEXT 和 BLOB 类型

  对于字段长度要求超过 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。

  TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。比指定类型支持的最大范围大的值将被自动截短。

日期和时间类型

  在处理日期和时间类型的值时,MySQL 带有 5 个不同的数据类型可供选择。它们可以被分成简单的日期、时间类型,和混合日期、时间类型。根据要求的精度,子类型在每个分类型中都可以使用,并且 MySQL 带有内置功能可以把多样化的输入格式变为一个标准格式。

类型 大小 (字节) 范围 格式 用途 DATE 3 --/-- YYYY-MM-DD 日期值 TIME 3 '-::'/'::' HH:MM:SS 时间值或持续时间 YEAR 1 / YYYY 年份值 DATETIME 8 -- ::/-- :: YYYY-MM-DD HH:MM:SS 混合日期和时间值 TIMESTAMP 8 -- ::/ 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳 DATE、TIME 和 TEAR 类型

  MySQL 用 DATE 和 TEAR 类型存储简单的日期值,使用 TIME 类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,DATE 类型的值应该使用连字号作为分隔符分开,而 TIME 类型的值应该使用冒号作为分隔符分开。

  需要注意的是,没有冒号分隔符的 TIME 类型值,将会被 MySQL 理解为持续的时间,而不是时间戳。

  MySQL 还对日期的年份中的两个数字的值,或是 SQL 语句中为 TEAR 类型输入的两个数字进行最大限度的通译。因为所有 TEAR 类型的值必须用 4 个数字存储。MySQL 试图将 2 个数字的年份转换为 4 个数字的值。把在 - 范围内的值转换到 - 范围内。把 - 范围内的值转换到 - 之内。如果 MySQL 自动转换后的值并不符合我们的需要,请输入 4 个数字表示的年份。

DATEYIME 和 TIMESTAMP 类型

   除了日期和时间数据类型,MySQL 还支持 DATEYIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一个调试和审查用途的审计跟踪的应用程序中发挥良好作用。

  如果我们对 TIMESTAMP 类型的字段没有明确赋值,或是被赋与了 null 值。MySQL 会自动使用系统当前的日期和时间来填充它。

复合类型

  MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。虽然这些类型在技术上是字符串类型,但是可以被视为不同的数据类型。一个 ENUM 类型只允许从一个集合中取得一个值;而 SET 类型允许从一个集合中取得任意多个值。

ENUM 类型

  ENUM 类型因为只允许在集合中取得一个值,有点类似于单选项。在处理相互排拆的数据时容易让人理解,比如人类的性别。ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。另外如果插入值的大小写与集合中值的大小写不匹配,MySQL 会自动使用插入值的大小写转换成与集合中大小写一致的值。

   ENUM 类型在系统内部可以存储为数字,并且从 1 开始用数字做索引。一个 ENUM 类型最多可以包含 个元素,其中一个元素被 MySQL 保留,用来存储错误信息,这个错误值用索引 0 或者一个空字符串表示。

  MySQL 认为 ENUM 类型集合中出现的值是合法输入,除此之外其它任何输入都将失败。这说明通过搜索包含空字符串或对应数字索引为 0 的行就可以很容易地找到错误记录的位置。

SET 类型

  SET 类型与 ENUM 类型相似但不相同。SET 类型可以从预定义的集合中取得任意数量的值。并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使 MySQL 插入一个空字符串。如果插入一个即有合法的元素又有非法的元素的记录,MySQL 将会保留合法的元素,除去非法的元素。

  一个 SET 类型最多可以包含 项元素。在 SET 元素中值被存储为一个分离的“位”序列,这些“位”表示与它相对应的元素。“位”是创建有序元素集合的一种简单而有效的方式。并且它还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。

  希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。

提高MySQL中数据装载效率 相对来说,将数据装入数据库是直截了当的。然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下:成批装载较单行装载更快,因为在

mysql 前几条记录语句之(limit) MySql没有提供top方法。可是他有limit方法提供同样的功能。SELECT*FROM`tfidf`orderbyweightdesclimit1,SELECT*FROM`tfidf`orderbyweightdesclimit

php 读取mysql数据库三种方法 ?$dbh=@mysql_connect("localhost:","root","");/*定义变量dbh,mysql_connect()函数的意思是连接mysql数据库,"@"的意思是屏蔽报错*/if(!$dbh){die("error");}/*die()函数的意

标签: mysql数据类型怎么判断

本文链接地址:https://www.jiuchutong.com/biancheng/312524.html 转载请保留说明!

上一篇:mysql 日期和时间格式转换实现语句(mysql日期和时间类型)

下一篇:提高MySQL中数据装载效率(mysql性能提升)

  • 自来水水费增值税发票票样
  • 无形资产摊销年限可以变更吗
  • 兼职人员工资需要申报个税吗
  • 企业年报股东及出资信息要怎么填写
  • 财务方面的管理思想
  • 增值税即征即退收入要交企业所得税吗
  • 简易征收应纳税额计算
  • 补提企业所得税会计分录
  • 房地产开发公司取名
  • 地税印花税怎么算
  • 劳务费个人所得税税率表2023
  • 卷帘机适用税率
  • 进项5万出项6万,需交多少税
  • 公司与个人合伙协议
  • 土地出让金11%抵扣进项税的账务处理?
  • 汇总会计报表和合并会计报表均是
  • 企业所得税免税政策
  • 打印的行程单可以删除吗
  • 房产交易差价
  • 小规模纳税人收到专票后如何处理
  • 以前年度损益调整
  • w10电脑节能模式
  • 银行卡账户年费是什么意思 为什么扣我银行卡的钱
  • 海康威视网页插件下载
  • vuejs动态加载组件
  • uniapp image mode
  • 卡比托丽娜·瓦西里耶娃
  • php常用字符串函数讲解
  • vue全局组件和局部组件
  • 【机器学习】9种回归算法及实例总结,建议学习收藏
  • 材料暂估入账
  • 复式记账法会计名词解释
  • 从银行提取现金50000元备发工资
  • vue解决跨域的几种办法
  • 企业的生产成本包括哪些
  • 支付水电费如何做账务处理
  • 织梦改logo
  • python天气数据的爬取与分析
  • 预收账款可以通过什么科目核算
  • 承兑汇票贴现的利率
  • 科目余额表该怎么填
  • sqlserver2005数据库导出数据成.sql
  • 认缴制没有实资本会怎么样
  • 培训费 会议费
  • 金蝶低值易耗品报废操作
  • 融资租赁手续费进项税能抵扣吗
  • 企业专项资金购买固定资产
  • 同城票据交换原理
  • 收到暂估跨年发票怎么办
  • 以现金形式发工资的公司
  • 其他应收款余额在贷方什么意思
  • 不合格品的处理方式一般包括哪些
  • 公司账户多少钱保证公司运转
  • 母子公司往来款是否涉及交税
  • 工业企业产成品库存同比
  • 应收帐款坏账处理
  • mysql8.0设置字符集编码
  • cmd 执行sql
  • win10的打开方式
  • win8系统版本
  • xp系统1
  • ubuntu pdf编辑器
  • ssh远程连接linux
  • win10系统休眠唤醒屏幕变大怎么办
  • mac命令行指令
  • win7手动更新在哪里设置
  • CentOS中-bash: lsb_release: command not found错误的解决方法
  • win10系统微软账户密码忘了
  • [OpenGL ES 04]3D变换实践篇:平移,旋转,缩放
  • js给表格添加一行
  • jquery跳出循环
  • g8a1
  • node.js+express
  • 使用jquery实现表单验证
  • 使用jsonp跨域,服务端如何改
  • python如何通过键找对应值
  • 政府主管部门对企业检查要求
  • 出口退税备案单证目录
  • 房产税交错了能否退款
  • 税务2021年认真落实各项工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设