选择数据类型的原则
1、选择能存储数值的越小类型越好
2、类型越简单越好
1、数值型总结
整型
特点
1.根据所占字节或保存的数值范围分类
tinyint、smallint、mediumint、int/integer、bigint
2.默认为有符号整型
3.如果超过类型的范围,会报警告,插入临界值(最大值或最小值)
4.如果想设置为无符号整型,则需要加上关键字unsigned
5.每个整型可以设置显示的宽度,int默认为11.但只能加上zerofill才能有效果
而且加上zerofill,默认为无符号整型
2、浮点型和定点型
1.分类
浮点型:
float(M,D)
double(M,D)
定点型:
decimal(M,D)
2.D表示小数位数,如果不够用0补齐,如果超过则四舍五入
M表示整数位数+小数位数,整数部分如果超过,则报错,显示为临界值
M和D 对于浮点型或定点型都可以省略
但浮点型默认的精度为插入数值的精度,而定点型默认的精度为M=10,D=0
3.定点型的精度表示更高,比较适合处理货币运算
3、案例
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
n1 FLOAT(5,2),
n2 DOUBLE(5,2),
n3 DECIMAL(5,2)
)
SHOW TABLES;
SELECT * FROM tab2;
INSERT INTO tab2 VALUES(123.45,123.45,123.45);
INSERT INTO tab2 VALUES(123.4,123.4,123.4);
INSERT INTO tab2 VALUES(123.456,123.456,123.456);
INSERT INTO tab2 VALUES(1235.45,1235.45,1235.45);
4、案例
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
n1 FLOAT,
n2 DOUBLE,
n3 DECIMAL
)
INSERT INTO tab2 VALUES(1232345678.45,123453.45,12323456789.45);
INSERT INTO tab2 VALUES(123.4,123.4,123.4);
DROP TABLE tab1;
CREATE TABLE tab1(
T1 INT(8) ZEROFILL
)
DESC tab1;
INSERT INTO tab1 VALUES(1203);
INSERT INTO tab1 VALUES(9000000000);
SELECT * FROM tab1;
网友评论