MySQL数据类型全解析
作者:--D 发布时间:2024-01-27 07:44:58
数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则。
数据类型用于以下目的:
1、允许限制可存储在列中的数据。如:数值数据类型列只能接受数值。
2、允许在内部更有效地存储数据。如:用比文本串更简洁的格式存储数值和日期时间值。
3、允许变换排序顺序。如:数据都作为串处理,则1位于10前,10位于2前(串以字典顺序排序,从左边开始比较,一次一个字符);作为数值数据类型,数值才能正确排序。
一、串数据类型
最常用的数据类型,存储串,如名字、地址、电话号码等。
两种基本的串类型:定长串和变长串。
定长串:接受长度固定的字符串,其长度是在创建表时指定的。定长列不允许多于指定的字符数目,它们分配的存储空间与指定的一样多。如:CHAR。
变长串:存储可变长度的文本。有些变长数据类型具有最大的定长,有些则是完全变长的,不管是哪种,只有指定的数据会得到保存(额外的数据不保存),如:TEXT。
PS:MySQL处理定长列远比处理变长列快得多。且MySQL不允许对变长列(或一个列的可变部分)进行索引。
数据类型说明:
CHAR:1~255个字符的定长串。长度必须在创建时指定,否则MySQL假定为CHAR(1)。
ENUM:接受最多64K个串组成的一个预定义集合的某个串。
LONGTEXT:与TEXT相同,但最大长度为4GB。
MEDIUMTEXT:与TEXT相同,但最大长度为16 K。
SET:接受最多64个串组成的一个预定义集合的零个或多个串。
TEXT:最大长度为64 K的变长文本。
TINYTEXT:与TEXT相同,但最大长度为255字节。
VARCHAR:长度可变,最多不超过255字节。如创建时指定为VARCHAR(n),则可存储0到n个字符的变长串(其中n≤255)。
PS:
1、引号:使用何种形式的串数据类型,串值都必须括在引号内(通常使用单引号)。
2、须遵守的基本规则:如果数值是计算(求和、平均等)中使用的数值,则存储在数值数据类型列中。如果数值作为字符串使用,则保存在串数据类型列中。如:在数值字段中存储邮政编码01234,保存的是数值1234,丢失了一位数字。
二、数值数据类型
存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。
支持的取值范围越大,所需存储空间越多。此外,有的数值数据类型支持使用十进制小数点(和小数),而有的则只支持整数。表D-2列出了常用的MySQL数值数据类型。
PS:
1、所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号。有符号数值列可以存储正或负的数值,无符号数值列只能存储正数。
2、默认情况为有符号,若不需要存储负值,可以使用UNSIGNED,这样做将允许你存储两倍大小的值。
3、与串不同,数值不应该在引号内。
4、MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)。
数据类型说明:
BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等价于TINYINT。
BIGINT:整数值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,为0~18446744073709551615的数。
BOOLEAN(或BOOL):布尔标志,为0或者为1,主要用于开/关(on/off)标志。
DECIMAL(或DEC):精度可变的浮点值。
DOUBLE:双精度浮点值
FLOAT:单精度浮点值
INT(或INTEGER):整数值,支持-2147483648~2147483647,UNSIGNED同上。
MEDIUMINT:整数值,支持-8388608~8388607,UNSIGNED同上。
REAL:4字节的浮点值。
SMALLINT:整数值,支持-32768~32767,UNSIGNED同上。
TINYINT:整数值,支持-128~127,UNSIGNED同上。
三、日期和时间数据类型
数据类型说明:
DATE:表示1000-01-01~9999-12-31的日期,格式为YYYY-MM-DD。
DATETIME:DATE和TIME的组合。
TIMESTAMP:功能和DATETIME相同,但范围较小。
TIME:格式为HH:MM:SS。
YEAR:2位数字表示,范围是70~69(1970~2069);4位数字表示,范围是1901~2155
四、二进制数据类型
可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。
数据类型说明:
BLOB:Blob最大长度为64KB。
MEDIUMBLOB:Blob最大长度为16 MB。
LONGBLOB:Blob最大长度为4GB。
TINYBLOB:Blob最大长度为255字节。
来源:https://www.cnblogs.com/mind18/p/14270087.html
猜你喜欢
- PyTorch: https://github.com/shanglianlm0525/PyTorch-Networksimport tor
- Django原生的TextField并不友好,集成TinyMCE富文本编辑器Django版本:1.11.5TinyMCE版本:4.6.7第一
- Jones向量假设光波沿z轴传播,那么其三个方向的电场分量可以表示为Jones矩阵能够保证二维列向量形状不变的运算有无穷多种,但最符合我们直
- jQuery 真是一个非常伟大的 javascript library,至少在我不会写 JS 的时候第一时间接触了它,虽然还有其他很多优秀的
- 我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文
- #写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流。只做技术交流、、、、、
- 摘要: 每到情人节、七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题——怎么给女朋友/老婆一个与众不同的节日惊喜。今天给大家分享一个独特的
- 引言对图像进行形态学变换。变换对象一般为灰度图或二值图,功能函数放在morphology子模块内。1、膨胀(dilation)原理:一般对二
- Python中的frame是什么栈帧(frame)栈帧表示程序运行时函数调用栈中的某一帧。想要获得某个函数相关的栈帧,则必须在调用这个函数且
- 爬虫所需要的功能,基本上在urllib中都能找到,学习这个标准库,可以更加深入的理解后面更加便利的requests库。首先在Pytho2.x
- 模块Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和 Python 语句模
- map()是python的一个内建函数, 他能够通过函数来处理序列,比如,我们相关一个数组[0,1,2,3,4,5]所有的数字都+2 , 当
- 一、Python 文件读写概述Python 在文件读写操作中,会使用「内置函数」和「Pandas 库」两种方式。先来看内置函数,包括 ope
- 假设你已经做好了如下配置和尝试在Extensions中安装好了Remote -SSH添加了你要访问的服务器ip地址等信息,并拥有了一个con
- 简单总结:1、与类和实例无绑定关系的function都属于函数(function);2、与类和实例有绑定关系的function都属于方法(m
- css里关于浏览器的兼容问题一直困惑着我们初级的css用户(高手可直接绕过),这里想根据我前段时间拜读的李超的书籍《css网站布局实录》里学
- 一、报错信息:【file】【Default Settint】---Project Interpreter 点击搜索suds安装模块报错解决:
- JS 添加千分位,测试可以使用<script language="javascript" type="t
- 如下所示:#先下载psutil库:pip install psutilimport psutilimport os,datetimedef
- Postman生成okhttp代码依赖<dependency>