标签:
好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数据满足为该数据类型预先确定的一组规则,例如大小、类型及格式。
这里先总结数据类型。MySQL中的数据类型大的方面来分,可以分为:日期和时间、数值,以及字符串。下面就分开来进行总结。
MySQL数据类型 | 含义 |
date | 3字节,日期,格式:2014-09-18 |
time | 3字节,时间,格式:08:42:30 |
datetime | 8字节,日期时间,格式:2014-09-18 08:42:30 |
timestamp | 4字节,自动存储记录修改的时间 |
year | 1字节,年份 |
整型
MySQL数据类型 | 含义(有符号) |
tinyint | 1字节,范围(-128~127) |
smallint | 2字节,范围(-32768~32767) |
mediumint | 3字节,范围(-8388608~8388607) |
int | 4字节,范围(-2147483648~2147483647) |
bigint | 8字节,范围(+-9.22*10的18次方) |
上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应的取值范围就要翻翻了,比如:
tinyint unsigned的取值范围为0~255。
浮点型
MySQL数据类型 | 含义 |
float(m, d) | 4字节,单精度浮点型,m总个数,d小数位 |
double(m, d) | 8字节,双精度浮点型,m总个数,d小数位 |
decimal(m, d) | decimal是存储为字符串的浮点数 |
我在MySQL中建立了一个表,有一列为float(5, 3);做了以下试验:
所以,在使用浮点型的时候,还是要注意陷阱的,要以插入数据库中的实际结果为准。
MySQL数据类型 | 含义 |
char(n) | 固定长度,最多255个字符 |
varchar(n) | 可变长度,最多65535个字符 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多2的24次方-1个字符 |
longtext | 可变长度,最多2的32次方-1个字符 |
上面大概总结了MySQL中的数据类型,当然了,上面的总结肯定是不全面的,如果要非常全面的总结这些内容,好几篇文章都不够的。下面就再来总结一些常用的属性。
id smallint not null auto_increment primary key
hostname char(25) binary not null
subscribed enum(‘0‘, ‘1‘) not null default ‘0‘
create table employees
(
id varchar(9) not null,
firstname varchar(15) not null,
lastname varchar(25) not null,
email varchar(45) not null,
phone varchar(10) not null,
index lastname(lastname),
primary key(id)
);
create index lastname on employees (lastname(7));
email varchar(45) unique
orderid int unsigned zerofill not null
总结完毕!!!
标签:
原文地址:http://www.cnblogs.com/chris-oil/p/4783536.html