列类型分为:
日期时间型、数值型、字符串型;
数值型:
整数型:
tinyint 迷你整数型,1个字节储存,表示的状态最多为256种
smallint 小整形,2个字节储存,表示的状态最多为65536种
mediumint 中整形,3个字节储存,
int 标准整形;4个字节储存,
bigint; 大整形 8个字节储存,
创建整形表
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 int,
int_4 bigint
)charset utf8;
插入数据:
insert into my_int values(100,100,100,100);(有效数据)
insert into my_int values('a','b','199','f');(插入无效数据)
insert into my_intvalues(255,10000,100000,1000000);
ERROR 1264 (22003): Out of range value for column 'int_1' at row 1报错:超出类型;
给表增加一个无符号类型
alter table my_int add int_5 tinyint unsigned;
有符号无符号的差别
指定显示宽度为1然后查询表内数据;
alter table my_int add int_6 tinyint(1) unsigned;
select * from my_int
小数型;
浮点型:小数点浮动,精度有限,而且会丢失精度
定点型:小数点固定,精度固定,不会丢失精度
浮点数的表
create table my_float(
f1 float,
f2 float(10,2),
f3 float(6,2)
)charset utf8;
插入数据:
insert into my_float values(
1000.10,1000.10,1000.10);
insert into my_float values(
1234567890,1356654.90,1345.56);
insert into my_float values(
3e35,01e7,1234.56);
超出长度插入:(超出的小数部分系统会自动四舍五入)
insert into my_float values(
1000.10555,1000.10546564,1000.1046564);
insert into my_float values(
1234567890,1356654.90,1345.56);
insert into my_float values(
3e35,01e7,1234.56);
如果整数部分超出则报错;但是浮点型的精度不是很准。