位置: 编程技术 - 正文

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性能提升)

  • 只拿了营业执照十年无办税好注销吗
  • 主营业务收入净额在利润表里怎么看
  • 税控盘维护费开的是普票可以抵扣吗
  • 起重机属于固定资产哪个类别
  • 新企业所得税法规定的企业所得税基本税率
  • 赠送固定资产会计处理
  • 购买产品没开发票支付宝支付
  • 收到托收凭证怎么填写
  • 企业代缴个人所得税打印完税证明
  • 对方公司不能开发票怎么办
  • 法律关系的内容是指
  • 加工开票税率是多少
  • 增值税发票过期未认证怎么办
  • excel单元格内换行macbook
  • 土地使用税怎么征收标准
  • 主营业务税金及附加包括印花税吗
  • 冲红发票开具
  • 报税申报不了
  • 新办的营业执照多久可以注销
  • 商票背书需要对方开发票吗
  • 消防安装工程会计核算
  • 固定资产发票可以抵税吗
  • 地下人防设置要求
  • 代扣代征税款有哪些
  • c盘文件详解
  • 新版edge浏览器文字不显示
  • 个体工商户是小微吗
  • php加号
  • 投资收益怎么算例题
  • PHP:pg_untrace()的用法_PostgreSQL函数
  • PHP:pg_last_notice()的用法_PostgreSQL函数
  • 结构性存款利息增值税
  • 期货保证金的计算公式当日盈亏怎么算
  • idea怎么运行前端vue项目
  • token登录器
  • 当月已验旧的发票怎么开
  • vuescan怎么安装
  • 工程实践指的是
  • nlp自然语言处理框架
  • vue父子组件传值
  • vue中的icon
  • sysstat命令
  • python填写表格
  • index.php怎么修改
  • PHP魔术方法的作用
  • java获取resources下文件路径
  • 资产总额是营业收入吗
  • 企业缴纳个人所得税客户端
  • 转让无形资产或其他资产
  • 一般风险准备的科目类别
  • 外资企业可以融资吗
  • 以前年度损益调整在利润表中怎么填
  • 电影剧本稿费多少
  • 因管理不善材料被盗应记啥科目
  • 业务员垫付保费
  • 以前年度损益调整在报表哪里体现
  • mssql查询语句
  • centos7安装MySQL5.6
  • win7系统无法运行红警游戏
  • win7系统安装win10 怎么安装
  • 为什么ibooks无法使用
  • freebsd启动网卡
  • win8系统怎么设置
  • mac中通过python关闭浏览器中的finder弹框
  • 在windows7中,下列叙述中错误的是
  • 微软反盗xp黑屏怎么办
  • Win10 Build 14267截图欣赏:贴心功能大展示
  • 使用jquery实现的项目
  • jsonp实现动态加载文件
  • javascript的if
  • node.js express koa
  • Unity3D中的事件处理
  • python文件rb
  • jQuery EasyUI中DataGird动态生成列的方法
  • flask框架官方文档
  • 北京市网上税务局(自然人版)
  • 贵阳国家高新技术产业开发区管理委员会
  • 销售有机肥需要什么手续
  • 深圳小微企业税收优惠政策2023
  • 如何办理股权转让信息登记表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设