mysql的基本类型

最近郁闷,基础类型和Java类型之间转换还搞不清楚,在网上顺便相关资料列出一些类型来提醒

mysql

  1、整数:

MySQL数据类型 含义(有符号)
tinyint(m) 1个字节  范围(-128~127)
smallint(m) 2个字节  范围(-32768~32767)
mediumint(m) 3个字节  范围(-8388608~8388607)
int(m) 4个字节  范围(-2147483648~2147483647)
bigint(m) 8个字节  范围(+-9.22*10的18次方)

  2、浮点型:

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

 3、定点:decimal(m,d) 参数m代表总位数但小于65,d小于30。值得注意:浮点型是存的是近似值,定点型存实际值

 4、字符型:

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

  5、时间类型:

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

    值得注意的是timestamp会随着该数据其他自动的更新而更新,可以用来作为更新时间   

  6、二进制数:Blob是以二进制方式存储、不分大小写、数据只能整体读出、BLO不用指定字符集。

时间: 2024-10-20 00:19:37

mysql的基本类型的相关文章

Hibernate @Temporal 注解处理Java与Mysql时间日期类型的映射关系

2017-4-2 在 Java 中使用 java.util.Date 和 java.util.Calendar 表示时间.日期类型.在 Mysql 中使用 YEAR.DATE.TIME.TIMESTAMP.DATETIME 五种数据类型表示时间日期,由此引出了 Java 日期类型跟数据库的日期类型怎么映射的问题.本文总结了使用 Hibernate @Temporal 注解的解决方案. 使用 @Temporal 注解修饰 Java 实体类的数据类型 指定 @Temporal value 属性,其中

MySQL 日志的类型

MySQL日志类别:一般查询日志:log,general_log,log_output慢查询日志:查询执行的时长超过指定的查询,即为慢查询:错误日志:通常时指错误日志的相关信息,通常用服务器关闭和启动的日志信息,服务器运行过程中的错误信息,还可以记录警告信息.二进制日志:只是跟修改相关的操作,可以理解为一个重做日志,用于复制的基本凭据:中继日志:它其实跟复制相关的,与二进制日志几乎相同: 事物日志:随机I/O转换为顺序I/O,一般在两个文件存储,一个存满了就换另外一个存 查询日志 log={ON

修改mysql 表引擎类型错误

mysql引擎默认类型为MyISAM, mysql>show engines; 事务隔离机制为:READ-COMMITTED(/etc/my.cnf查看) 默认建表如果不指定引擎类型,自动为MyISAM.此时想更改表为InnoDB类型.用户登陆到mysql客户端执行:mysql>alter table ATT engine = InnoDB; 则报错:ERROR 1598 (HY000): Binary logging not possible. Message: Transaction le

MySQL 常用字段类型,介绍及其建表使用方法经验分享

由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其使用.(由于本人还算是菜鸟哪里写的不对请多多指正,有兴趣的可以探讨一下) MySQL字段类型 int型包括(tinyint, smallint, mediumint, int, bigint) tinyint是1个字节表达范围就是2的8次方(-128-128) 或者(0-255) 很多人不明白为什么

mysql的point类型查询处理

mysql的point类型,很蛋疼的表示更习惯于key—value的lng,lat 假设不得不处理数据库字段poi是point类型,其中的数据为 : POINT(28.2789745229671 110.827382004967) 我们可以直接用 : select y(poi),x(poi) from table; 这种方法直接获取lng,lat

mysql下float类型使用一些误差详解

想很多朋友都不怎么会在mysql中使用float类型,特别是用到金钱时我们可能会用双精度来做,我们知道mysql的float类型是单精度浮点类型不小心就会导致数据误差. 单精度浮点数用4字节(32bit)表示浮点数采用IEEE754标准的计算机浮点数,在内部是用二进制表示的如:7.22用32位二进制是表示不下的.所以就不精确了. mysql中float数据类型的问题总结 对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这

mysql中boolean类型

MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1), MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,

如何正确选择MySQL数据列类型

MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MySQL数据列类型时,请从以下几个方面考虑: 存放到数据列中的数据类型. 数据值的取值范围. 考虑性能和处理效率. 数值操作比字符操作快. 小类型的处理速度比大类型快. 不同数据表中固定长度类型和可变长度类型的处理效率是不同的. 可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行O

Mysql在字符串类型的日期上加上10分钟并和现在的日期做比较

SELECT id FROM tran WHERE state = 'F' AND TIMESTAMPDIFF(SECOND,DATE_ADD(create_date,INTERVAL 10 DAY_MINUTE),"2014-06-18 10:30:29")>0 如果create_date加10分钟大于等于当前的时间("2014-06-18 10:30:29") 那么就会查到数据, 如果小于那么就查不到数据 Mysql在字符串类型的日期上加上10分钟并和现在

MYSQL中TIMESTAMP类型的默认值

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 表: —————————————————————————————————————— t1      CREATE TABLE `t1` (                                                                             `p_c` int(11) NOT NULL,