在下面的示例中,我在测试数据库中创建了一个名为 demo 的表,我们将尝试使用 TINYINT 数据类型并展示它是如何由 MySQL 默认创建的,然后插入值并执行 ALTER 以查看变化:
USE test;
DROP TABLE IF EXISTS demo;
CREATE TABLE IF NOT EXISTS demo (
id INT NOT NULL AUTO_INCREMENT,
demo TINYINT NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
SHOW CREATE TABLE demo;
我插入三个不同长度的值:
INSERT INTO demo (demo) VALUES (127);
INSERT INTO demo (demo) VALUES (12);
INSERT INTO demo (demo) VALUES (1);
调查我发现这个文档给出了一个相当清晰的想法,测试我能够证明它的用途,括号中定义的长度称为属性。
在声明整数数据类型时,有问题的属性用于定义选择时左侧数字“0”的填充长度,而这只有在使用 ZEROFILL 选项定义列时才能看到。。
在下面的示例中,我在测试数据库中创建了一个名为 demo 的表,我们将尝试使用 TINYINT 数据类型并展示它是如何由 MySQL 默认创建的,然后插入值并执行 ALTER 以查看变化:
我插入三个不同长度的值:
现在我做一个 SELECT 看看里面有什么:
我修改了该列,使其具有 ZEROFILL 属性。
我再次执行 SELECT 以查看更改:
正如我们所看到的,它用左边的三个零“0”填充整数值。我们可以得出结论,具有 ZEROFILL 属性的整数的属性用于视觉方面。