失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

时间:2020-01-29 17:01:13

相关推荐

mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

Mysql数据类型

小数:

浮点:小数位可以变化

Float单精度默认精度6位左右

Double双精度默认精度16位左右

支持,控制数值范围

Type(M,D)

M表示所有数值位数(不包括小数点和符号)

D表示允许的小数位数。

不符合的都错误

支持科学计数法

定点数:

Decimal(M,D)

M总位数

D小数位数

M默认10 D默认0

四舍五入

支持zerofill和unsigned(显示范围不变,和int不同)

日期时间:

时间戳

存储时,整型,表示时仍然是日期时间(插入和读取时按照datetime格式)

时间范围1970 1.1 0:0:0到其后的2^31-1亿秒(整型范围决定)即到2038-01-1903:14:07

检索时字段+0

即为整型格式展示

create table dt_1(

a datetime,

b timestamp

);

insert into dt_1 values('-04-16 2:13:11','-04-16 2:13:11');

select a,b+0 from dt_1;

-04-16 02:13:11 | 0416021311 |

select a+0,b+0 from dt_1;

0416021311.000000 | 0416021311 |

插入时格式只和实际有关,与分割符无关

歧义:(不建议使用)

insert into dt_1 values('20-04-16','-04-16 2:13:11')

-04-16 00:00:00 | -04-16 02:13:11

insert into dt_1 values('2-4-6','-04-16 2:13:11')

0002-04-06 00:00:00 | -04-16 02:13:11

支持2位年份

70-691970-2069

70-9919xx

0-69 20xx

不建议使用

支持0值

-04-0表示4月整月

Time类型

1.一天中的时间

2.时间间隔

3.可以使用天来表示

格式:D HH:MM:SS

D天

字符串类型

一.Char与varchar

Char(M)固定长度,M严格限定长度

Varchar(M)可变,M允许的最大长度(范围)

M是字符数而非字节数,但是总的长度的使用是按照字节计算的。

Utf8下21845*3=65535

Gbk下32767*2=65534

Latin一个字节一个字符

字段的最大长度,除了类型本身限制之外,记录的总长度也有限制

create table s2_2_2(

a varchar(21845)

) character set utf8;

创建不成功,减少一个字符可以。

create table s4(

a varchar(65535)

) character set latin1;

即使加 not null也是创建失败

65534同样情况

65533必须加 not null才可以创建成功!

真实的varchar长度

总长度 65535

Varchar特点:当类型数据超过255个字符时,采用2个字节表示长度。

65535-2=65533

整条记录,需要一个额外的字节来保存那些字段的值是null的。

除非所有的字段都不是null,这个字节才能省略。一个记录,不论又多少个字段存在null,都是使用统一的一个字节来表示,而不是每一个字段一个字节。

65533时not null才能成功。

create table s6(

a varchar(65532)

) character set latin1;

能创建

create table s7(

a varchar(65532) ,

b tinyint

) character set latin1;

创建不了

create table s6(

a varchar(65532) not null,

b tinyint

) character set latin1;

创建不了

create table s6(

a varchar(65532) not null,

b tinyint not null

) character set latin1;

可以创建

65532+2+1(tinyint)

Drop table tb1,tb2….. tbn;

create table t4(

a text not null,

b varchar(65523) not null

) character set latin1;

刚好成功

Text类型不能指定长度和默认值可以not null(插入时不写该字段插入空字符串,能成功插入),不加not null时,插入时不写该字段会默认插入null

Enum保存的是整型处理

集合set

(‘footbal’,’basketball’,’swim’)

1,10,100

1+100=101=5

10+100=110=6

1,10,100,1000

1+1000=1001=9

1+10+100+1000=1111=15

1+10=11=3

二进制

如果觉得《mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。