MySQL系列-常用数据类型

1.MySQL常用数据类型分类

日期类型 数字类型(整数和小数) 字符类型 二进制类型

2.日期类型

MySQL数据类型字节数含义
date3字节日期,格式:2014-09-18
time3字节时间,格式:08:42:30
datetime8字节日期时间,格式:2014-09-18 08:42:30
timestamp4字节

 格式和datetime一样但是它可以根据mysql设置的时区自动修改

year1字节

份,格式:2018 (范围1901-2155)

3.整数类型

MySQL数据类型字节数含义(带有符号)
tinyint1字节范围(-128~127)
smallint2字节范围(-32768~32767)
mediumint3字范围(-8388608~8388607)
int4字节范围(-2147483648~2147483647)
bigint8字节范围(+-9.22*10的18次方)java中long范围

4.浮点数类型

MySQL数据类型字节数含义(带有符号)
float(m, d)4字节单精度浮点型,m总个数,d小数位,最大m-d整数位,默认(10,2)
double(m, d)8字节

双精度浮点型,m总个数,d小数位,最大m-d整数位,默认(16,4)

double 与 real 是一样的

decimal(m, d) decimal是存储为字符串的浮点数,可以精确表示

float和 double会有精度丢失 例如以下代码:

mysql> insert into tc(ifloat) values('131072.32');
Query OK, 1 row affected

mysql> select* from tc;
+-----------+---------+----------+
| ifloat    | idouble | idecimal |
+-----------+---------+----------+
| 131072.31 | NULL    | NULL     |
+-----------+---------+----------+
1 row in set

float和double在计算机中的存储格式就是二进制所以难免有精度丢失,可以使用decimal代替。

mysql> insert tc(idecimal) values(131072.32);
Query OK, 1 row affected

mysql> select * from tc;
+--------+---------+-----------+
| ifloat | idouble | idecimal  |
+--------+---------+-----------+
| NULL   | NULL    | 131072.32 |
+--------+---------+-----------+
1 row in set 

表的设计如下:


5.字符串类型

MySQL数据类型含义(带有符号)
char(n)固定长度,n位字符,最多255个字符
varchar(n)可变长度,n位字符,最多(2^16-1)个字符
tinytext可变长度,最多255个字符
text可变长度,最多(2^16-1)个字符
mediumtext可变长度,最多(2^24-1)个字符
longtext可变长度,最多(2^32-1)个字符

6.二进制类型

MySQL数据类型 含义
bit(M)M位二进制,M最大64位 也就是8字节
tinyblob 可变长二进制,数据最多255字节
blob可变长二进制,数据最多(2^16-1)字节 64KB
mediumblob可变长二进制,数据最多(2^24-1)字节 16MB
 longblob可变长二进制,数据最多(2^32-1)字节 4GB

二进制可以用来存储图片和视频,但是一般都不会这样用,这样会导致MySQL链接被长期占用以及数据库服务器一直在io处理数据,效率低下。


参考文章:

https://blog.csdn.net/appleLg/article/details/54616130

http://wiki.jikexueyuan.com/project/mysql/data-types.html

ttps://blog.csdn.net/u011794238/article/details/50962702

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值