昨天写sql文件时把以前一直不是很明白的地方弄明白了,就是在设置int型的时候,需要设置int(M),以前知道这个M最大是255,但是到底应该设置多少并没有在意。
查了下官方manual
有这样的语句:
M
indicates the maximum display width
for integer types. The maximum legal display width is 255.
这个M
就是maximum display width。那什么是maximum display width?看了下面的例子很容易说明了,注意zerofill
:
mysql> create table b ( b int (4));
Query OK, 0 rows affected (0.25 sec)
mysql> insert into b values (
12345
);
Query OK, 1 row affected (0.00 sec)
mysql> select * from b;
+-------+
| b |
+-------+
| 12345 |
+-------+
1 row in set (0.00 sec)
mysql> alter table b change b b int(11);
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from b;
+-------+
| b |
+-------+
|
12345
|
+-------+
1 row in set (0.00 sec)
mysql> alter table b change b b int(11) zerofill
;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from b
;
+-------------+
| b |
+-------------+
| 000000
12345
|
+-------------+
1 row in set (0.00 sec)
mysql> alter table b change b b int(4) zerofill
;
Query OK, 1 row affected (0.08 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from b
;
+-------+
| b |
+-------+
| 10000 |
+-------+
1 row in set (0.00 sec)
mysql> alter table b change b b int(6) zerofill
;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from b;
+--------+
| b |
+--------+
| 0
12345
|
+--------+
1 row in set (0.00 sec)
以上的例子说明了,这个M
的表示显示宽度,他跟着zerofill
一起才有意义。就算前面设置的M的值比数值实际的长度小对数据也没有任何影响。
分享到:
相关推荐
介绍 MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储...原来,在 int(M) 中,M 的值跟 int(M) 所占
mysql int(3)与int(11)的区别 总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加...
设置int型的时候,需要设置int(M),以前知道这个M最大是255,但是到底应该设置多少并没有在意。注意zerofill,今天我们来简单探讨下
1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) ...smallint(m) ...mediumint(m) ...int(m) ...bigint(m) ...取值范围如果加了unsigned,则最大值翻...int(m)里的m是表示SELECT查询结果集中的显示宽度
对于CHAR、VARCHAR和TEXT类型,前面的表中的值L和M应解释为字符数目,并且列定义中的这些类型的长度表示字符数目。例如,要想保存一个TINYTEXT值需要L字符+ 1个字节。 要想计算用于保存具体CHAR、VARCHAR或者TEXT列...
同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了...
一、date型转换成int型 UNIX_TIMESTAMP(‘1997-10-04 22:23:00’) =====> 875996580 二、int型转换成date型 FROM_UNIXTIME...以上就是小编为大家带来的mysql日期date型和int型互换的方法全部内容了,希望大家
Mysql数据库设计 数据库设计 MYSQL数据库设计 串转义序列 \0 NUL(ASCLL 0) \' \" \b 退格 \n 新⾏ \r 回车 \t 制表符 \\ 反斜杠 数值列类型 TINYINT 1字节 ⾮常⼩的整数 有符号值:-128⾄127 ⽆符号值:0⾄255 ...
mysql> alter table MyClass add passtest int(4) default ’′ 8、更改表名: 命令:rename table 原表名 to 新表名; 例如:在表MyClass名字更改为YouClass mysql> rename table MyClass to YouClass; 更新...
mysql> alter table MyClass add passtest int(4) default '0' 8、更改表名: 命令:rename table 原表名 to 新表名; 例如:在表MyClass名字更改为YouClass mysql> rename table MyClass to YouClass; 更新字段...
int[M] M默认11 人为设定系统也会根据自动分配空间(类似char和varchar) bigint float[(M,D)] 10的(M-D)次方->代表最大值 D->代表保留位数不够补0 //For float(M,D), double(M,D) or decimal(M,D), M must be >=...
附:在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式 使用 FROM_UNIXTIME函数,具体如下: 代码:FROM_UNIXTIME(unix_timestamp,format) ...
代码如下:CREATE PROCEDURE p_pageList ( m_pageNo int , m_perPageCnt int , m_column varchar(1000) , m_table varchar(1000) , m_condition varchar(1000), m_orderBy varchar(200) , out m_totalPageCnt int ) ...
终于让python和MySQL连接上了,花了两天时间才成功建立连接,下面是我遇到问题。 在安装MySQL时候要注意有一个选择,如果你选择了Use Strong Password Encryption for Authentication,就会强密码加密,建...python -m
/ 8GB内存)、RedHat AS4 Linux操作系统、MySQL 5.1.26、MyISAM存储引擎、key_buffer=1024M环境下实测,单表1000万条记录的数据量(这张MySQL表拥有int、 datetime、varchar、text等类型的10多个字段,只有主键,无...
好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。M前言 好比C++中,定义int类型需要多少字节,定义double类型...
您可能感兴趣的文章:详解SQL Server中的数据类型详解MySQL数据类型int(M)中M的含义mysql存储引擎和数据类型(二)Java数据类型与MySql数据类型对照表SQL Server数据类型转换方法SQL Server比较常见数据类型详解...