MySQL 数据(字段)类型
发布时间:2011-09-10 16:15:56
MySQL 数据(字段)类型
在创建表的时候,要明确定义字段对应的数据类型。MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。
数值类型
类型 说明 例子 tinyint 存储范围:-128至127或0至255 tinyint(1) smallint 存储范围:-32768至32767或0至65535 smallint(3) mediumint 存储范围:- 8388608至8388607或0至16777215 mediumint(5) int 存储范围:- 2147483648至2147483647或0至4294967295 int(10) bigint 存储范围:- 9223372036854775808至9223372036854775807或0至18446744073709551615 bigint(10) float 最小非零值:±1.175494351E – 38,同double一样适用于精度要求高的场合 float(3,1) double 最小非零值:±2.2250738585072014E - 308 double(10,5) decimal 取值范围可变,以来括号内的显示尺寸和小数点位数而定,适用于对精度要求不高但准确度要求非常高的场合 decimal(10,2)
补充说明
在 int(integer) 系列中,只能存储整型值,且可以在后面用括号指定显示的尺寸(M),如果不指定则会默认分配。如果实际值的显示宽度大于设定值,将会显示实际值而不会截断以适应显示尺寸。如 smallint(3) 中的 3 即为显示尺寸,即显示三位的数值(不包括 - 号)
int 类型可以指定 UNSIGNED 属性,即无符号(非负),所以存储范围有两种
在 float、double 及 decimal 类型中,不能指定 UNSIGNED 属性,其显示尺寸包含了小数点精度(D),即 float(3,1) 保存范围为 -99.9 至 99.9
decimal 必须指定显示尺寸(M)和小数点精度(D),float 和 double 都是可选的
在可能涵盖取值范围的基础上,尽可能选择较小的类型以提高效率和节约存储空间,如年龄,就选择 tinyint(3) 。该原则对于字符类型同样适用
字符串(文本)类型
类型 说明 例子 char 支持固定长度的字符串, 最大长度是 255 个字符 char(100) varchar 支持可变长度的字符串, 最大长度是 65535 个字符 varchar(1000) tinytext 支持可变长度的字符串,最大长度是 255 个字符 tinytext text
blob 支持可变长度的字符串,最大长度是 65535 个字符 text mediumtext
mediumblob 支持可变长度的字符串,最大长度是 16777215 个字符 mediumtext longtext
longblob 支持可变长度的字符串,最大长度是 4294967295 个字符 longtext enum 枚举类型,可存储最多65535 个成员,常用于取值是有限而且固定的场合 enmu("男","女") set 集合类型,可存储最多64个成员 set("value1","value2", ...)
补充说明
char 和 varcha 需要指定长度,不同的是,char 存储时总是按照指定的长度储存,而 varchar 则根据实际字符串长度再加上一个字节分配空间。
时间日期类型
类型 说明 例子 date YYYY-MM-DD 格式表示的日期值 date time hh:mm:ss 格式表示的时间值 time datetime YYYY-MM-DD hh:mm:ss 格式表示的日期和时间值 datetime timestamp YYYYMMDDhhmmss 格式表示的时间戳值 timestamp year YYYY 格式表示的年份值 year
提示
在 PHP 中,一般情况下对于时间都是按照 UNIX 时间戳以 int 类型存储于表中,再根据实际需要用 PHP 的时间函数进行处理,但不完全都是这样。


猜你喜欢
- Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学
- 快速高效用:SET SQL_SAFE_UPDATES = 0;下面的就不要看了!今日用MySQL Workbench进行数据库的管理更新时,
- 问题某些无聊的脚本小子在Web页面表单中填入了“pýtĥöñ”这样的文本,我们
- 本文实例讲述了让thinkphp支持大小写url地址访问的方法。分享给大家供大家参考。具体实现方法如下:通常ThinkPHP默认是区别大小写
- 起步在django框架中,用的是 pytz 库处理时区问题,所以我也尝试用这个库来处理。但发现了一个奇怪的问题:import datetim
- 破解百度翻译翻译是一件麻烦的事情,如果可以写一个爬虫程序直接爬取百度翻译的翻译结果就好了,可当我打开百度翻译的页面,输入要翻译的词时突然发现
- 零、配置Tomcat默认情况下Tomcat是没有配置用户角色权限的但是,后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat
- 闭包函数什么是闭包函数如果内函数使用了外函数的局部变量,并且外函数把内函数返回出来的过程叫做闭包,里面的内函数是闭包函数。# 外函数 out
- 在Javascript里,setTimeout和setInterval接收第一个参数是一个字符串或者一个函数,当在一个对象里面用setTim
- 前言bufio包实现了带缓冲的I/O,它封装了io.Reader和io.Writer对象,然后创建了另外一种对象(Reader或Writer
- Flask Web开发实战学习笔记Flask简介Flask是使用Python编写的Web微框架。Web框架可以让我们不用关 心底层的请求响应
- 当你的查询相对简单的时候,每次从头开始创建SQL语句也不费什么工夫,不过,复杂的查询就不同了,每次都从头来会产生很多开发错误。因此,一旦让S
- 看了大神统计voc数据集标签框后,针对自己标注数据集,灵活应用 ,感谢!看代码吧~import reimport osimport xml.
- 同时,关于datetime也是简单介绍。因为有很多东西需要自己去使用,去查帮助才最有效。例子:计算上一个星期五并输出。解答:import d
- 本文实例为大家分享了html5 canvas在图片上画超链接的具体代码,供大家参考,具体内容如下1. html<canvas id=&
- 前言这几天看《流畅的python》这本书了,在一个示例中又看到了property作为装饰器在使用,因为很久没有用这个东西了,对它
- 本文实例讲述了JavaScript函数重载操作。分享给大家供大家参考,具体如下:上个星期四下午,接到了网易的视频面试(前端实习生第二轮技术面
- 在用户执行粘贴操作的时候,js能够获得剪切板的内容,本文讨论一下这个问题。目前只有Chrome支持获取剪切板中的图片数据。还好需要这个功能的
- python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下:
- 本文实例为大家分享了python定时发送邮件的具体代码,供大家参考,具体内容如下全部代码如下:import timefrom datetim