MySQL_整型、字符、浮点、时间类型
2017-08-17 14:59
381 查看
1. 整形
整形列的可选属性:
2. 浮点型/定点型
浮点型的声明:float(M,D),其中国M为精度,是总位数(不包含点),而D为标度,表示小数位的长度。
定点型:decimal比float更精准。
3. 字符型
注意:text是文本类型,可以存较大的文本段,搜索速度稍慢。因此,如果不是特别大的内容,建议用char或varchar来代替。
char(M)和varchar(M)的区别?
char(M)占位固定为M,如果你存储N(N<M)个字符,实际内存占位也为M,存储内容不足M个时,后面用空格补齐,取的时候,去掉后面的空格。利用率N/M<=100%,速度上比较快。
而varchar(M)是可变型的字符串,如果你存储了N(N<M)个字符,实际内存占位为N+(1~2)字节。这(1~2)字节是用来开销记录字符串字符数。利用率N/(N+1~2)<100%,速度上比较慢。
4. 日期时间类型
时间戳:
一般时间戳都是用int来存储,表示1970-01-01 00:00:00到当前的秒数,比较方便运算。时间戳可以通过方法转换成yyyy-MM-dd HH:mm:ss的形式。
5. 枚举类型
表示输入的值只能是枚举里面的某个数值,比如拿性别来说在创建表的时候,
类型 | 占用空间 | 范围 | |
---|---|---|---|
Tinyint | 1字节 | -128~127 | |
Smallint | 2字节 | -2^15~2^15-1 | |
Mediumint | 3个字节 | -2^23~2^23-1 | |
Int | 4个字节 | -2^31~2^31-1 | |
Bigint | 8字节 | -2^63~2^63-1 |
整形列的可选属性:
属性名称 | 属性作用 |
---|---|
M | 宽度(在zerofull的时候才有意义) |
unsigned | 无符号的(非负数) |
zerofull | 0填充(默认无符号) |
not null | 不为空 |
default X | 默认值为X |
2. 浮点型/定点型
浮点型的声明:float(M,D),其中国M为精度,是总位数(不包含点),而D为标度,表示小数位的长度。
定点型:decimal比float更精准。
3. 字符型
类型 | 说明 | 典型声明方式 |
---|---|---|
char | 定长字符串 | char(M),M代表宽度,即可容纳的字符数 |
varchar | 变长字符串 | varcahr(M),M代表宽度,即可容纳的字符数 |
text | 文本串 | text(不用加默认值) |
注意:text是文本类型,可以存较大的文本段,搜索速度稍慢。因此,如果不是特别大的内容,建议用char或varchar来代替。
char(M)和varchar(M)的区别?
char(M)占位固定为M,如果你存储N(N<M)个字符,实际内存占位也为M,存储内容不足M个时,后面用空格补齐,取的时候,去掉后面的空格。利用率N/M<=100%,速度上比较快。
而varchar(M)是可变型的字符串,如果你存储了N(N<M)个字符,实际内存占位为N+(1~2)字节。这(1~2)字节是用来开销记录字符串字符数。利用率N/(N+1~2)<100%,速度上比较慢。
4. 日期时间类型
类型 | 说明 | 典型输入格式 |
---|---|---|
Year | 占1字节,表示1901-2155年。[0000,表示错误时的选择] | 仅仅代表年份 |
Date | 表示范围为:1000-01-01 ~ 9999-12-31 | 1990-10-10 |
Time | 表示范围为:-838:59:59 ~ 838:59:59 | hh:mm:ss |
DateTime | 表示范围为:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 1989-05-06 14:30:00 |
<1> Year类型的数据,如果输入的是两位数,那么"0-69"表示2000-2069年,如果是70-99,则代表 的是1970-1999年。为了不记错,最好输入4位数表示。 <2> 在开发中很少用日期时间类型来表示一个需要精确到秒的列。原因:虽然日期时间类型能够精确到 秒,但是不方便比较。我们经常使用时间戳来表示。
时间戳:
一般时间戳都是用int来存储,表示1970-01-01 00:00:00到当前的秒数,比较方便运算。时间戳可以通过方法转换成yyyy-MM-dd HH:mm:ss的形式。
5. 枚举类型
表示输入的值只能是枚举里面的某个数值,比如拿性别来说在创建表的时候,
sex enum('男','女')。那么我们输入的只能是男或女中的一个。
相关文章推荐
- matlab数据类型一(整型、浮点、逻辑、字符)
- mysql 时间转换 长整型时间 时间戳类型时间
- 学点 C 语言(12): 数据类型 - 整型(int)、字符(char)、浮点(float、double)
- 第二章 Mysql 数据类型简介--(整数类型、浮点数类型和定点数类型,日期与时间类型,字符串类型,二进制类型)
- mysql列字段多类型CASE、WHEN与时间字符 类型date_format格式化使用
- 时间:2014年3月23日 mySQL建表过程与字符类型意义
- 数据类型 - 整型(int)、字符(char)、浮点(float、double)【5】
- 【matlab】数据类型一(整型、浮点、逻辑、字符)
- MySQL字符类型转化为时间类型
- mysql中数字类型、日期和时间类型以及字符串(字符)类型及大数据在hibernate中的配置
- mysql数据类型——时间类型
- java与mysql时间类型对应
- 关于MySQL的日期和时间类型
- java与mysql时间类型对应
- MySql 基础学习笔记 1——概述与基本数据类型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的区别 图 浮点型:命令
- mysql 按时间类型【datetime】数据库查询今天,昨天,一周的数据
- MySQL的数据类型,MySQL增删改--添加主外键、添加属性、删除主外键、改表名、获取系统当前时间等
- MySQL整数类型及时间类型剪切操作
- MySQL里面的时间类型datetime,date,timestamp,time和year(转)
- 关于mysql 的时间类型选择