binary,unsigned,unsigned zerofill关键字介绍(binary区分大小写,)
2016-01-04 18:58
225 查看
mysql建表时,每个字段的属性有三个选项: binary,unsigned,unsigned zerofill,作用如下:
mysql查询不区分大小写问题分析和解决
mysql 字符串类型及二进制字符串类型大小写比较
例如如果 tinyint最大是127,那 tinyint unsigned 最大 就可以到 127 * 2
unsigned 属性只针对整型,而binary属性只用于char 和varchar。
mysql提供了五种整型: tinyint、smallint、mediumint、int和bigint。int为integer的缩写。这些类型在可表示的取值范围上是不同的。 整数列可定义为unsigned从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。
mysql 提供三种浮点类型: float、double和decimal。与整型不同,浮点类型不能是unsigned的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
一、binary
CHAR VARCHAR:值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键字。使用BINARY的例子见mysql查询不区分大小写问题分析和解决
mysql 字符串类型及二进制字符串类型大小写比较
二、unsigned
既为非负数,用此类型可以增加数据长度!例如如果 tinyint最大是127,那 tinyint unsigned 最大 就可以到 127 * 2
unsigned 属性只针对整型,而binary属性只用于char 和varchar。
类型说明 | 说明 | 取值范围 | 存储需求 |
tinyint[(m)] | 非常小的整数 | 有符号值:-128 到127(- 27 到27 - 1) 无符号值:0到255(0 到28 - 1) 1个字节 | 1字节 |
smallint[(m)] | 较小整数 | 有符号值:-32768 到32767(- 215 到215 - 1) 无符号值:0到65535(0 到21 6 - 1) 2个字节 | 2字节 |
mediumint[(m)] | 中等大小整数 | 有符号值:-8388608 到8388607(- 22 3 到22 3 - 1 ) 无符号值:0到16777215(0 到22 4 - 1) 3个字节 | 3字节 |
int[(m)] | 标准整数 | 有符号值:-2147683648 到2147683647(- 231 到231- 1) 无符号值:0到4294967295(0 到232 - 1) 4个字节 | 4字节 |
bigint[(m)] | 较大整数 | 有符号值:-9223372036854775808 到9223373036854775807(- 263到263-1) 无符号值:0到18446744073709551615(0到264 – 1) 8个字节 | 8字节 |
float[(m, d)] | 单精度浮点数 | 最小非零值:±1.175494351e - 38 | 4字节 |
double[(m,d)] | 双精度浮点数 | 最小非零值:±2.2250738585072014e - 308 | 8字节 |
decimal (m, d) | 一个串的浮点数 | 可变;其值的范围依赖于m 和d | m字节(mysql < 3.23),m+2字节(mysql > 3.23 ) |
mysql 提供三种浮点类型: float、double和decimal。与整型不同,浮点类型不能是unsigned的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
三、zerofill
那这个int[M]中M是什么意义喃,在定义数值型数据类型的时候,可以在关键字括号内指定整数值(如:int(M),M的最大值为255)显示最大显示宽度,显示宽度M与数据所占用空间,数值的范围无关。 如果在定义字段的时候指定zerofill,那么当数值的显示宽度小于指定的列宽度时候,则默认补充的空格用0代替。mysql> use test Database changed mysql> create table int_12(id int(12) zerofill); Query OK, 0 rows affected (0.03 sec) mysql> desc int_12; +-------+---------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------------------+------+-----+---------+-------+ | id | int(12) unsigned zerofill | YES | | NULL | | +-------+---------------------------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> insert into int_12(id) values(1); Query OK, 1 row affected (0.00 sec) mysql> select * from int_12; +--------------+ | id | +--------------+ | 000000000001 | +--------------+ 1 row in set (0.00 sec) mysql> alter table int_12 change id id int(23) zerofill; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> select * from int_12; +-------------------------+ | id | +-------------------------+ | 00000000000000000000001 | +-------------------------+ 1 row in set (0.00 sec) mysql>
相关文章推荐
- iOS原生的搜索:UISearchController
- 模糊C-Means聚类 Fuzzy C-Means Clustering
- kali linux 为firefox添加图标
- Cannot redeclare class xxx in /var/www/html/xxx on line xx
- 重建控制文件具体解释
- K-Means聚类 K-Means Clustering
- 有本事你就进去
- linux 高负载分析
- 连接数据库的两种方式:Jdbc-Odbc桥和Jdbc直连
- 数组和整数之间的转换
- Unity教程之-Unity Attribute的使用总结
- 2016年01月04日公司项目开发记录
- LeetCode 024 Swap Nodes in Pairs
- c语言键盘输入+中文字处理
- Latex 作者角标的小信封
- 解决java compiler level does not match the version of the installed java project facet
- java基础 —— properties 使用
- 聚类 导读 Clustering: An Introduction
- IOS 本地化
- 56个睿智帅气貌美的CTO大牛陪你叨逼叨