Mysql的数据类型可以分为4大类,分别是:
1、数值类型
2、字符串类型(文本类型)
3、二进制数据类型
4、日期类型
1. 数值类型
数值类型中又可以分为整型和小数类型
1.1 整型
类型 | 范围 |
---|---|
bit(m) | 位类型,范围根据m在[1-64]之间的取值来定;如m的值是8,取值范围在0-255 |
tinyint | 1个字节 |
smallint | 2个字节 |
mediumint | 3个字节 |
int(常用) | 4个字节 |
bigint | 8个字节 |
1.2 小数类型
类型 | 范围 |
---|---|
float | 单精度4个字节 |
double(常用) | 双精度8个字节 |
decimal[ M,D](常用) | 大小不定 |
2. 字符串类型(文本类型)
字符串类型,也可称为文本类型
类型 | 范围 |
---|---|
char(固定长度,常用) | 0-255 |
varchar(可变长度,常用) | 0-65535,即[0-2^16-1] |
text(常用) | 0-65535,即[0-2^16-1] |
longtext | [0-2^32-1] |
3. 二进制数据类型
二进制数据类型,一般用的不是太多,使用场景相对其它类型,没那么丰富
类型 | 范围 |
---|---|
blob | [0-2^16-1] |
longblob | [0-2^32-1] |
4. 日期类型
类型 | 格式 | 范围 |
---|---|---|
date | 年-月-日 | 3个字节 |
time | 时-分-秒 | 3个字节 |
datetime(常用) | 年-月-日 时-分-秒(YYYY-MM-DD HH:mm:ss) | 8个字节 |
timestamp(常用) | 年-月-日 时-分-秒(YYYY-MM-DD HH:mm:ss) | 4个字节 |
year | 年 | 1个字节 |
说明:timestamp表示时间戳类型,常用来记录数据库中的某条记录的更新时间,一般在创建表的时候,指定以 当前的时间作为时间戳字段的值入库
例如:创建一个 apply_info 表,表的储存引擎、字符集、校对规则采用默认,不写;update_date 字段为时间戳字段,建表语句如下
CREATE TABLE `apply_info`(
`flowno` INT(10),
`apply_name` VARCHAR(50),
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
每当插入一条语句时,update_time这个字段,就会自动获取当前时间入库,作为这条语句的更新时间,而不需要手动去额外赋值该字段
INSERT INTO `apply_info`(`flowno`,`apply_name`) VALUES('1000000001','中国企业联盟有限责任公司');