TINYINT (-128 to 127) SMALLINT (-32768 to 32767) MEDIUMINT (-8388608 to 8388607) INT/INTEGER (-2147483648 to 2147483647) BIGINT (-9223372036854775808 to 9223372036854775807) FLOAT (单精度浮点数) DOUBLE (双精度浮点数) DECIMAL (固定精度小数)
这些数字类型在MySQL中有不同的用途。例如,TINYINT可以作为枚举类型的存储,SMALLINT可以用于存储年龄等整数值。而FLOAT和DOUBLE通常用于存储具有小数位数的数值,DECIMAL则用于高精度计算。
当设计MySQL数据库时,您应该考虑使用哪个数字类型,以便在存储数据时避免浪费空间或数据精度丢失的问题。
CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age TINYINT NOT NULL, salary DECIMAL(10,2) NOT NULL );
在此示例中,大家定义了一个名为user的表,该表包含id、name、age和salary等列。其中,id列使用INT(11)存储,允许存储-2147483648 到 2147483647之间的整数。age列使用TINYINT存储,因为大家不需要存储太大的整数。salary列使用DECIMAL(10,2)存储,允许在存储金额时保留两位小数。
因此,当使用MySQL存储数字数据时,建议根据实际情况选用合适的数据类型,以提高数据存储的效率和精确度。