MySQL字段类型及使用
本文主要介绍MySQL的字段。
首先,字段类型分为以下几大类:数值型、日期时间型、字符串型、复合类型
先插入一个换算:1字节(byte)(B)=8bit(位)(b) 1M=1024B 1G=1024M 1T=1024G
数值型:
整形:
注意事项:
以INT为例,int(11) 后面的这个数字近表示最大显示长度,并不是指最大存储数值。其他类似
浮点型:
注意事项:
1、双进度占用存储资源是单精度的一倍。一般对精度要求高才用double。否则为了节约资源。我们都用float来代替小数。
2、金钱相关不适用以上两种,使用 decimal 。这个字段长度在现在市面上运行版本(5.+) 值,
如DECIMAL(5,2) :- 9 9 9 . 9 9,9999.99 占用 7个字节。
所占字节长度:DECIMAL(M, D) 为 M+2个字节
字符型:
注意事项:
1、char(5),varchar(5) 都能存储5个字符,单varchar要比char多占用一个字节,多出来一位存储字符串长度
2、char会根据定义长度分配空间,并剔除末尾空格
3、更新操作,字符串变长,varchar空间占用会变多,MyISAM将行拆开不同片段处理,而InnoDB分裂页使行可以存在业内,容易产生碎片,而char定长,不容易产生碎片
4、字符串长短差异较大时使用varchar 如果长度差不多或者相同char
5、varchar能存储255字符,超长的字符串需使用text;
6、查询速度 char>varchar>text
7、char(10),varchar(10)等括号内的数字在MySQL5.0.3后表示字符数,而不是字节数
8、varchar、text在MySQL5.0.3以后占用内存空间最大都是65535字节,
9、varchar、char 可以设置默认值,text没有默认值
时间日期格式
1、timestamp超出范围的值无法设置。
2、实际工作中我基本上不用以上字段,基本上会使用时间戳,存储int字段中。整体下来int性能相对较好一些(实际与存储引擎等均有关系,具体可创建表录入百万数据设置不同字段类型查询比较,我测试int整体下来相对好一点,仅个人意见)。
表设计注意事项:
1、表名、字段名尽量简明释义,注意添加注释
2、尽可能的设置自增主键
3、实现具体逻辑是尽量不要使用存储过程
4、字段类型为枚举或者布尔值是尽量使用tinyint
5、尽量将索引字段值设置为非空,null 会导致索引失效
6、能用到整形尽量用整形,能用短字符尽量用短字符,能用char尽量用char
7、text尽量不要使用
8、IP信息需要存储时尽量转成整形存int
其他信息后续如果想起来再继续补充
MySQL字段类型及使用相关推荐
- php数据库字段类型,mysql 字段类型说明
mysql 字段类型说明 更新时间:2007年04月27日 00:00:00 作者: MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用 ...
- 原 hibernate与mysql字段类型对应关系
原 hibernate与mysql字段类型对应关系 发表于8个月前(2015-04-17 08:56) 阅读(1102) | 评论(0) 2人收藏此文章, 我要收藏 赞0 1月16日厦门 OSC ...
- MySQL字段类型解析
前言: 要了解一个数据库,我们必须了解其支持的数据类型.MySQL 支持大量的字段类型,其中常用的也有很多.前面文章我们也讲过 int 及 varchar 类型的用法,但一直没有全面讲过字段类型,本篇 ...
- MySQL字段类型详解
MySQL字段类型详解 2009-01-05 09:25 来源:泡菜博客 0个评论 分享文章 A- A+ 百度权重查询 词库网 网站监控 服务器监控 SEO监控 Swift编程语言教程 MySQL支持 ...
- MySQL 字段类型解析
MySQL字段类型 MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 字符串 char和varchar: 1.char(n) 若存入字符数小于n,则以空格补于 ...
- MySQL字段类型与Java中类型的对应
MySQL字段类型与Java中类型的对应 在设计数据的时候,需要与Java里的类型进行匹配,我自己在设计过程中参考的内容如下 编号 类型名称 显示长度 数据库类型 Java类型 备注/描述 0 VAR ...
- MySQL字段类型汇总及用法(超详细)
/********************************FileName: MySQL字段类型汇总及用法*Author: weibo*Version: v1.0*Date: 2016.5.1 ...
- MySQL字段类型对应Java字段
前言 MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的: 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.Strin ...
- 详解mysql字段类型int(4) int(10)等区别
一.mysql字段类型大致可以分为:数值.日期/时间.字符串 数值类型:tinyint,smallint,mediumint,int/integer,bigint,float,double,decim ...
- MySql 字段类型对应 Java 实体类型
前言 MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的: 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.Strin ...
最新文章
- 以太坊solidity编程常见错误(不定期更新)
- selenium中应用问题解决
- 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布...
- rocketmq存储结构_阿里专家分享内部绝密RocketMQ核心原理与最佳实践笔记
- 服务器虚拟化的主备,云服务器可以主备切换
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
- python虚拟环境配置文件_uwsgi 配置 python virtualenv 虚拟环境目录 ( ini 配置)
- [转载] Python正则表达式(含正则表达式速查表)
- enumerate取下标
- caffe matlab 重启,Matlab caffe 具体使用方法
- openwrt的源码下载及其编译 (一)
- 【Photoshop】证件照换底色
- HJ82 将真分数分解为埃及分数(需要知道求埃及数的数学方法)
- 1u服务器支持的显卡体积,1u服务器加独立显卡(1u服务器装显卡)
- Linux CentOS 系统实战笔记-基础篇
- 结构体所占字节数的计算
- pcie 对rc操作的ops
- Python 解压rar类型文件
- python怎么制作游戏存档功能,如何在Python中创建目录的zip存档?
- 【爬虫实战】斗鱼直播(你想看的都有呀!)