mysql数据库-数据类型(2)

mysql数据库-数据类型

MySQL 

在 MySQL 中常见的数据类型如下:

 

1) 整数类型

包括 TINYINT、SMALLINT、MEDIUMINT、INT (常用)、BIGINT,浮点数类型 FLOAT (常用) 和 DOUBLE (常用),定点数类型 DECIMAL(高精度计算)

2) 日期/时间类型

包括 YEAR (常用)、TIME (常用)、DATE、DATETIME (常用) 和 TIMESTAMP。

3) 字符串类型

包括 CHAR (常用)、VARCHAR (常用)、BINARY、VARBINARY、BLOB (常用)、TEXT (常用)、ENUM 和 SET 等。

4) 二进制类型

包括 BIT、BINARY、VARBINARY、TINYBLOB、 BLOB(常用)、MEDIUMBLOB 和 LONGBLOB。
 

MySQL 5.0 以上的版本:

1、一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

2、varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别

3、MySQL 检查长度,可用 SQL 语言来查看:

select LENGTH(fieldname) from tablename

 

关于 char、varchar 与 text ,一般来说,都是用 varchar。但是当要存储的内容比较大时,究竟是选择 varchar 还是 text 呢?

这三种类型比较:

  •  (1)char:  char 不用多说了,它是定长格式的,但是长度范围是 0~255. 当你想要储存一个长度不足 255 的字符时,Mysql 会用空格来填充剩下的字符。因此在读取数据时,char 类型的数据要进行处理,把后面的空格去除。
  •  (2)varchar:  关于 varchar,有的说最大长度是 255,也有的说是 65535,查阅很多资料后发现是这样的:varchar 类型在 5.0.3 以下的版本中的最大长度限制为 255,而在 5.0.3 及以上的版本中,varchar 数据类型的长度支持到了 65535,也就是说可以存放 65532 个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在 5.0.3 以下版本中需要使用固定的 TEXT 或 BLOB 格式存放的数据可以在高版本中使用可变长的 varchar 来存放,这样就能有效的减少数据库文件的大小。
  •  (3)text: 与 char 和 varchar 不同的是,text 不可以有默认值,其最大长度是 2 的 16 次方-1

总结起来,有几点:

  •  经常变化的字段用 varchar
  •  知道固定长度的用 char
  •  尽量用 varchar
  •  超过 255 字符的只能用 varchar 或者 text
  •  能用 varchar 的地方不用 text

float与double的比较:

  • 1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位
       double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位
  • 2.java中默认声明的小数是double类型的,如double d=4.0
       如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0
       其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义              
  • 3.对编程人员而言,double 和 float 的区别是double精度高,但double消耗内存是float的两倍,且double的运算速度较float稍慢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值