mysql 数据类型 phpmyadmin新建字段含义
2018-01-08 15:50
316 查看
文章来源
1、整型
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围。MySQL类型关键字后面的括号内指定整数值的显示宽度(例如,INT(11))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。 请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。INT(M)
ZEROFILL,加上ZEROFILL后M才表现出不同,比如 INT(3) ZEROFILL,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果INT(3)和INT(10)不加ZEROFILL,则它们没有什么区别.M不是用来限制INT列内保存值的范围的.int(M)的最大值和最小值与UNSIGNED有关。
2、浮点型(float和double)
设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。
3、定点数
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。
4、字符串(char,varchar,_text)
char和varchar:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
5.二进制数据(_Blob)
1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2._BLOB存储的数据只能整体读出。
3._TEXT可以指定字符集,_BLO不用指定字符集。
6.日期时间类型
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。
数据类型的属性
2、类型:字段类型
3、长度:字段的长度,如varchar类型,在这个位置设置最大字符长度,但是对int、bigint、smallint、tinyint来说,他们的存储的长度是固定的,这里设置的是他们显示的宽度度。
bigint: 8字节
int: 4字节
smallint:2字节
tinyint: 1字节
4、整理:字段采用的编码
例如: utf8_general_ci Unicode (多语言), 不区分大小写,
具体说明参考:http://wenku.baidu.com/view/a0c64d3b580216fc700afd4c.html
5、属性:字段属性,针对数值型数据和日期类型数据的设置。
UNSIGNED:该字段不会有非负数出现,比如 int 设置为该属性,那么这列的数值都是从0开始。
ZEROFILL:默认补充的空格用零代替,设置为这个属性的时候,该列就是非负数列。例如,对于声明为INT(5)
ZEROFILL的列,值4检索为00004
ON UPDATE CURRENT_TIMESTAMP:该列列为默认值使用当前的时间戳,并且自动更新。
参考:http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types
6、null:该列是否允许为空
7、默认:该列的默认值
8、额外:设置列值为自增,针对数值类型。
AUTO_INCREMENT:自增。
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次方) |
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围。MySQL类型关键字后面的括号内指定整数值的显示宽度(例如,INT(11))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。 请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。INT(M)
ZEROFILL,加上ZEROFILL后M才表现出不同,比如 INT(3) ZEROFILL,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果INT(3)和INT(10)不加ZEROFILL,则它们没有什么区别.M不是用来限制INT列内保存值的范围的.int(M)的最大值和最小值与UNSIGNED有关。
2、浮点型(float和double)
MySQL数据类型 | 含义 |
float(m,d) | 单精度浮点型 8位精度(4字节) m总个数,d小数位 |
double(m,d) | 双精度浮点型 16位精度(8字节) m总个数,d小数位 |
3、定点数
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。
4、字符串(char,varchar,_text)
MySQL数据类型 | 含义 |
char(n) | 固定长度,最多255个字符 |
varchar(n) | 固定长度,最多65535个字符 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多2的24次方-1个字符 |
longtext | 可变长度,最多2的32次方-1个字符 |
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
5.二进制数据(_Blob)
1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2._BLOB存储的数据只能整体读出。
3._TEXT可以指定字符集,_BLO不用指定字符集。
6.日期时间类型
MySQL数据类型 | 含义 |
date | 日期 '2008-12-2' |
time | 时间 '12:25:36' |
datetime | 日期时间 '2008-12-2 22:06:44' |
timestamp | 自动存储记录修改时间 |
数据类型的属性
MySQL关键字 | 含义 |
NULL | 数据列可包含NULL值 |
NOT NULL | 数据列不允许包含NULL值 |
DEFAULT | 默认值 |
PRIMARY KEY | 主键 |
AUTO_INCREMENT | 自动递增,适用于整数类型 |
UNSIGNED | 无符号 |
CHARACTER SET name | 指定一个字符集 |
phpmyadmin新建字段含义
1、字段:字段名称2、类型:字段类型
3、长度:字段的长度,如varchar类型,在这个位置设置最大字符长度,但是对int、bigint、smallint、tinyint来说,他们的存储的长度是固定的,这里设置的是他们显示的宽度度。
bigint: 8字节
int: 4字节
smallint:2字节
tinyint: 1字节
4、整理:字段采用的编码
例如: utf8_general_ci Unicode (多语言), 不区分大小写,
具体说明参考:http://wenku.baidu.com/view/a0c64d3b580216fc700afd4c.html
5、属性:字段属性,针对数值型数据和日期类型数据的设置。
UNSIGNED:该字段不会有非负数出现,比如 int 设置为该属性,那么这列的数值都是从0开始。
ZEROFILL:默认补充的空格用零代替,设置为这个属性的时候,该列就是非负数列。例如,对于声明为INT(5)
ZEROFILL的列,值4检索为00004
ON UPDATE CURRENT_TIMESTAMP:该列列为默认值使用当前的时间戳,并且自动更新。
参考:http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types
6、null:该列是否允许为空
7、默认:该列的默认值
8、额外:设置列值为自增,针对数值类型。
AUTO_INCREMENT:自增。
相关文章推荐
- MySQL学习系列2:数据类型宽度/查看字段长度
- MySQL数据类型及字段小结
- mysql创建字段选数据类型参考大全
- mysql命令行命令和SQL语句,MySQL修改删除增加字段类型,字段数据等。。
- MySQL数据类型和常用字段属性总结
- mysql--数据类型和常用字段属性总结
- 详解MySQL数据类型int(M)中M的含义
- MySQL数据类型和常用字段属性总结
- MySQL表操作及字段数据类型
- TIMESTAMP类型字段在SQL Server和MySQL中的含义和使用
- 详解MySQL数据类型int(M)中M的含义
- MySQL数据类型和常用字段属性总结
- mysql字段类型MicrosoftAccess、MySQL以及SQLServer所使用的数据类型
- MySQL数据类型 int(M)中M含义
- Mysql 字段数据类型/长度及表类型详细说明
- MySQL表结构(含数据类型、字段备注注释)导出成Excel
- MySQL字段数据类型和长度
- MySQL数据类型和常用字段属性总结
- sqoop 导入mysql数据到hive中,把多个mysql字段数据类型转换hive数据类型
- MySQL表结构(含数据类型、字段备注注释)导出成Excel