MySQL基础数据类型

2020427

8:22

1、整型

   

类型:

字节大小

数值范围

Tinyint

1

有符号:-128~127

无符号: 0~255

smallint

2

有符号:-32768~32767

无符号:0~65535

mediumint

3

有符号:-8388608~8388607

无符号:0~16777215

Int,integer

4

有符号:-2,147,483,648~2,147,483,647

无符号:0~4294967295

Bigint

8

有符号:-9223372036854775808~9223372036854775807

无符号:18446744073709551615

   

特点:

  1. 如果不设置无符号还是有符号,默认有符号,如果添加unsigned 添加关键字 就是无符号。
  2. 如果插入的数值超过了整形范围,会报出out of range 异常,并插入临界值
  3. 如果不设置长度,会使用默认长度
  4. 如果在长度设置的情况下,可以使用zerofill填充0用以完成字节长度填充。

案例:

 

create table tables_int( id int(7),ids int(7) unsigned);
create table word(id mediumint zerofill,number tinyint zerofill);   

2、小数类型

类型(浮点)

字节大小

数值范围

float

4

有符号:-3.402823466E+38 ~-1.175494351E-38

无符号:0~1.175494351E-380~3.402823466E+38

double

8

有符号:-1.797693 134 862 3157E+308~2.2250738555072014E-308

无符号:0~2.2250738555072014E-308,0~1.797693 134 862 3157E+308

类型(定点)

字节大小

数值范围

Decimal(M,D)

m+2

有符号:-1.797693 134 862 3157E+308~2.2250738555072014E-308

无符号:0~2.2250738555072014E-308,0~1.797693 134 862 3157E+308

特点:

1、规定范围的小数:

M:整数部分+小数部分

D:小数部分

2、省略MD:

如果是decimal那将会为10

如果是float 或者 double 将会由输入的数字的精度来决定

   

案例:

create table table_float(f1 float,f2 double,f3 decimal);
create table table_float(f1 float(4,3),f2 double(4,3),f3 decimal(6,3));

 

   

3、字符型

类型

写法

字节长度

空间消耗

效率

char

Char(M)

字节长度固定

varchar

Varchar(M)

字节长度不固定

特点:

char字节长度固定,不随插入的数值变动,例如char(10),插入数据‘中国‘,其字符大小仍为10

varchar字节长度不固定,随插入的数值变动,例如char(10),插入数据‘中国‘,其字符大小为2

4、枚举类型

类型

数值范围

索引

Enum(M1,M2,M3….)

0~65535

从1开始

案例:

create table table_enum(id int,sex enum(,));
insert into table_enum values(1,);
insert into table_enum values(2,1);
insert into table_enum values(3,2);

 

5、集合类型

案例:

create table table_set(id int,sex set(a,b,c,d));

insert into table_set values(1,a,b,c);

 

6、时间类型

类型

字节

最小值

最大值

date

4

1000-1-1

9999-12-31

Datetime

8

1000-1-1 00:00:00

9999-12-31 23:59:59

timestamp

4

1970010108001

2038年某个时刻

time

3

-838:59:59

838:59:59

year

1

1901

2155

特点:

Datatime 与timestamp 区别点在于datatime忽略时区的影响,timestamp可以更能反应本地时间。当时区改变时timestamp能自动根据当前时区调整数据。

案例:

create table table_time(id int,time datetime,time2 timestamp);

insert into table_time values(1,now(),now());

 

   

   

   

   

   

   

  

MySQL基础数据类型

上一篇:关于sqlmap当中tamper脚本编码绕过原理的一些总结(学习python没多久有些地方肯定理解有些小问题)


下一篇:mysql 基础