MyQSL值类型

数值型-整数类型1字节=8位

类型 存储空间(字节) 最小值(有符号/无符号) 最大值(有符号/无符号)
tinyint 1 -128/0 127/255
smallint 2 -23768/0 32767/65535
mediumint 3 -8388608/0 8388607/16777215
int/intege 4 -2147483648/0 2147483647/4294967295
bigint 8 -9223372036854770000/0 9223372036854775807/18446744073709551615

可使用unsigned控制正负

create table tb_int(  
  a tinyint unsigned,
  b tinyint
);

insert into tb_int values (255,127);

 

可使用zerofill来进行前导零填充(最小宽度为2)

alter table tb_int add c tinyint(2) zerofill;
insert into tb_int values (6);  #06
insert into tb_int values (126);  #126

也存在布尔bool类型,但是一般只用tinyint(1),例如:男女、有无、开关。。。

 

数值型-小数类型】 浮点/定点

单精度float(4字节)/双精度double(8字节)

存储空间=精度空间+幂空间(如:123.456=0.123456 * 10^3,即123456和3)

类型 存储空间(字节) 最小值 最大值(有符号/无符号)
float 4 3.402823466E+38 3.402823466E+38
double 8 1.7976931348623157E+308 1.7976931348623157E+308
decimal 最长 -65个9 +65个9

【浮点数】float默认精度位数为6位数字左右;double默认为16位数字左右:

create table tb_default_num(
    a float,
    b double
);

insert into tb_num values (1234567890.0123456789,1234567890.0123456789);    #1234570000   1234567890.0123458

单/双精度规定位数范围:

create table tb_num(
    a float(5,2);  #整数位必须<=3
    b double(8,3);  #整数位必须<=5
);

insert into tb_num values (123.45,12345.67);    #123.45  12345.670

浮点数支持科学计数法,如:0.234 * 10^3 :0.123E3

insert into tb_num values (0.123E3,123.4E2);  #123  12340

【定点数】decimal确保精度不丢失,存储方式:9位数4个字节存储(有利于资金精确显示)

create table tb_decimal(
    money decimal(10,2);
);

insert into tb_decimal values(1234.55);     #1234.55
insert into tb_decimal values(1234.558);    #1234.56

 

【时间类型】=================================

年月日时分秒(8字节存储):datetime  (YYYY-MM-DD HH:MM:SS)

时间戳(4字节存储):datestamp  (YYYY-MM-DD HH:MM:SS)

  datestamp检索列时+0,若插入数据为'2014-05-11 01:33:24',得:20140511013324

年月日(3字节存储):date  (YYYY-MM-DD)

create table tb_time (
    a datetime,  #支持任意分隔符,但导致逻辑不清晰,不建议使用
    b datestamp  #限制在2038年,可存储时间小
);

insert into tb_time values ('2014-05-11 01:33:22', '2014-05-11 01:33:24');

时间(3字节存储):time  意义:1.一天中的时间;2.表示时间间隔,可以用天表示(格式:'D HH:MM:SS')

(1字节存储):year  range:1901-2155

 

【字符串类型】=====================================

char     固定字符数

varchar  可变字符数(总体长度用2个字节做计算+1个字节存储null,即65532+2+1=65535)

text    总长度:2^16+2字节

enum     

set     以二进制位相加

binary    

 

posted @ 2014-11-17 23:18  ayee  阅读(382)  评论(0编辑  收藏  举报