mysql字段
来源:互联网 发布:管家婆软件普普版 编辑:程序博客网 时间:2024/06/05 13:29
数字类型
列类型
需要的存储量
范围、备注
TINYINT
1 个字节
一个很小的整数
有符号的范围是-128到127,无符号的范围是0到255
SMALLINT
2 个字节
一个比较小的整数
有符号的范围是-32768到32767,无符号的范围是0到65535
MEDIUMINT
3 个字节
一个中等大小的整数
有符号的范围是-8388608到8388607,无符号的范围是0到16777215
INT
4 个字节
一个正常大小整数
有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295
即最多可存储10个数字,如果存储手机号(11位)则会失败。
INTEGER
4 个字节
INT的一个同义词
BIGINT
8 个字节
一个大整数
有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615
FLOAT(M,D)
4 个字节
一个小(单精密)浮点数字。不能无符号。
允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24的一个 参数表示一个单精密浮点数字。
FLOAT
4 个字节
DOUBLE
8 个字节
一个正常大小(双精密)浮点数字。不能无符号。
允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、
0和2.2250738585072014E-308到1.7976931348623157E+308。
DOUBLE PRECISION
8 个字节
REAL
8 个字节
这些是DOUBLE同义词
DECIMAL(M,D)
M
字节(D
+2 , 如果M< D
)
一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列:“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符
NUMERIC(M,D)
M
字节(D
+2 , 如果M< D
)
这是DECIMAL的一个同义词
日期和时间类型
列类型
需要的存储量
范围、备注
DATE
3 个字节
DATETIME
8 个字节
TIMESTAMP
4 个字节
TIME
3 个字节
YEAR
1 字节
字符串类型
列类型
需要的存储量
备注
CHAR(M)
M
字节,1 <= M<= 255
VARCHAR(M)
L
+1 字节, 在此L <=M
和1 <= M <=255
TINYBLOB
, TINYTEXT
L
+1 字节,在此L
< 2 ^ 8
最大长度为255(2^8-1)个字符
BLOB
, TEXT
L
+2 字节,在此L
< 2 ^ 16
最大长度为65535=64K(2^16-1)个字符
MEDIUMBLOB
,MEDIUMTEXT
L
+3 字节,在此L
< 2 ^ 24
最大长度为16777215=16M(2^24-1)个字符
LONGBLOB
, LONGTEXT
L
+4 字节,在此L
< 2 ^ 32
最大长度为4294967295=4G(2^32-1)个字符
ENUM('value1','value2',...)
1 或 2 个字节, 取决于枚举值的数目(最大值65535)
SET('value1','value2',...)
1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员)
四种text对应四种blob
text与blob的区别在于:text不能存储图片。
mysql 的二进制数据类型 BINARY, VARBINARY, BLOB 都没有字符集的概念
再存取blob数据时,要入库时base64,出库时再base64
-------------------------------------------------------------
1.
blob是二进制大对象,可以容纳可变量数量的数据,其中blob分为4中类型:TINYBLOB,BLOB,mediumblob和LongBlob,他们容纳的长度是不同的.
Text同样也分为四种类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT
2.
blob被视为二进制字符串,Text被视为非二进制字符串;
blob列没有字符集,并且排序和比较基于列值字节的数值值。
TEXT列有一个字符集,并且根据字符集的校对规则对值进行排序和比较。
在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告.在大多数方面,可以将BLOB列视为能够足够大的VARBINARY列。同样,可以将TEXT列视为VARCHAR列。
3.
BLOB和TEXT在以下几个方面不同于VARBINARY和VARCHAR.
BLOB和TEXT列不能有默认值.
当保存或检索BLOB和TEXT列的值时不删除尾部空格。(这与VARBINARY和VARCHAR列相同).
对于BLOB和TEXT列的索引,必须指定索引前缀的长度。对于CHAR和VARCHAR,前缀长度是可选的.
LONG和LONGVARCHAR对应MEDIUMTEXT数据类型。这是为了保证兼容性。如果TEXT列类型使用BINARY属性,将为列分配列字符集的二元校对规则.
MySQL连接程序/ODBC将BLOB值定义为LONGVARBINARY,将TEXT值定义为LONGVARCHAR。由于BLOB和TEXT值可能会非常长,使用它们时可能遇到一些约束.
BLOB或TEXT对象的最大大小由其类型确定,但在客户端和服务器之间实际可以传递的最大值由可用内存数量和通信缓存区大小确定。你可以通过更改max_allowed_packet变量的值更改消息缓存区的大小,但必须同时修改服务器和客户端程序。例如,可以使用mysql和mysqldump来更改客户端的max_allowed_packet值.
------------------------------------------------------------------------------------
ZEROFILL属性(零值)适用于所有数值类数据列类型,作用是,如果数值的宽度小于定义的显示宽度,则在数值前填充0。
UNSIGNED属性不允许数据列出现负数。
AUTO_INCREMENT属性可生成独一无二的数字序列。只对整数类的数据列有效。
NULL和NOT NULL属性设置数据列是否可为空。
DEFAULT属性可为数据列指定默认值。
- Mysql字段
- mysql字段
- MySQL/ 字段
- mysql 添加字段、删除字段
- MySql增加字段、删除字段 唯一字段
- MySQL添加字段,修改字段,删除字段
- Mysql字段长度
- Mysql 字段长度说明
- MySQL字段类型说明
- MySQL字段类型说明
- mysql 字段类型说明
- Mysql 备注字段
- mysql 字段类型说明
- MYSQL 字段类型--含义
- MYSQL字段自增长
- MySQL字段类型说明
- mysql contact两个字段
- mysql 字段类型说明
- samba 服务器
- CentOS7修改主机名
- MyBATIS原理第三篇: SqlSession下的四大对象之一——执行器(executor)
- MySql错误处理(四)- 错误代码和消息
- Day5之PropertyDemo
- mysql字段
- 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
- hive使用mapjoin
- Day5之运算符相关介绍
- 关于表达式的解析
- BasePrj使用说明
- 分布式搜索Elasticsearch——配置
- JS实现HTML标签转义及反转义
- Intel Edison 移植mjpg-stream