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('2013-04-16 2:13:11','2013-04-16 2:13:11');
select a,b+0 from dt_1;
2013-04-16 02:13:11 | 20130416021311 |
select a+0,b+0 from dt_1;
20130416021311.000000 | 20130416021311 |
插入時格式只和實際有關,與分割符無關
歧義:(不建議使用)
insert into dt_1 values('20-04-16','2013-04-16 2:13:11')
2020-04-16 00:00:00 | 2013-04-16 02:13:11
insert into dt_1 values('2-4-6','2013-04-16 2:13:11')
0002-04-06 00:00:00 | 2013-04-16 02:13:11
支持2位年份
70-691970-2069
70-9919xx
0-69 20xx
不建議使用
支持0值
2013-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学习笔记三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql配置不成功_mysql 5.7
- 下一篇: php session mysql_ph