MySQL数据库的常用数据类型。
(m) 是表示 SELECT 查询结果集中的显示宽度,并不影响实际的取值范围 (自动补全位数,默认补全空格,输入一定参数可以自动补0等)
整数数字类型 | |||
类型 | 大小 | 范围(有符号) | 用途 |
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次方 | 极大整数 |
小数数字类型(浮点数) | ||
类型 | 大小 | 含义 |
float(m,d) | 4字节 | 单精度浮点型 8位精度(4字节) m总个数,d小数位 |
double(m,d) | 8字节 | 双精度浮点型 16位精度(8字节) m总个数,d小数位 |
字符类型 | ||
类型 | 字符长度 | 描述 |
char(字符数) | 小于255 | 固定长度,不够指定的字符数时自动在右边填补空格,超出指定字符数则无法写入。 |
varchar(字符数) | 可变长度,根据实际数据大小分配存储空间,超出指定字符数则无法写入。 | |
text/blob | 大于65535 | 字符数大于 65535 时使用,生产环境使用率极低。 |
mysql> create table school.info(name char(4),email varchar(30)); //创建表 mysql> insert into school.info values('tom', '[email protected]'); //添加数据
日期时间类型 | |||
含义 | 类型 | 大小 | 范围(或格式) |
日期时间 | datetime | 8字节 | 1000-01-01 00:00:00.000000~9999-12-31 23:59:59.999999 |
日期时间 | timestamp | 4字节 | 1970-01-01 00:00:00.000000~2038-01-19 03:14:07.999999 |
日期 | date | 4字节 | 0001-01-01~9999-12-31 |
年份 | year | 1字节 | 1901~2155 |
时间 | time | 3字节 | hh:mm:ss |
mysql> create table school.stuinfo(name char(5),birth datetime,start year,begin time,end time); //创建表 mysql> insert into school.stuinfo values ('tom',20011010121200,2018,0800,1800); //添加数据
时间函数 | |
类型 | 作用 |
mow() | 获取当前系统的日期和时间 |
year() | 获取指定时间中的年份 |
day() | 获取指定时间中的日期 |
sleep(N) | 休眠N秒 |
curdate() | 获取当前的系统日期 |
curtime() | 获取当前的系统时刻 |
mouth() | 获取指定时间中的月份 |
date() | 获取指定时间中的日期 |
time() | 获取指定时间中的时刻 |
用法举例:year(mow())=当前年份2019年 |
枚举类型(选择) | ||
选项 | 类型 | 使用格式 |
单选 | enum | enum(值 1,值 2,值 3...) |
多选 | set | set(值 1,值 2,值 3...) |
mysql> create table school.tea(name char(5),gender enum('boy', 'girl'),interest set('book','film','music','football'),); //新建表 mysql> insert into school.tea values ('tom', 'boy', 'book,music'); //添加数据
#注意:字符串需要使用引号!
发表评论