完整Mysql燕十八学习笔记
Mysql 三大列类型
1. 数值型
整型
Tinyint 、Smallint、Mediumint 、Int、Bigint
小数型
Float(D,M),Decimal(D,M)
2. 字符串型
Char(M)
Varchar(M)
Text 文本类型
3. 日期时间类型
Date 日期
Time 时间
Datetime 时间类型
Year年类型
一.整型列的字节与存储范围
从数学上讨论tinyint ,建表时既能足够存放,又不浪费空间。
即:
(1). 占据空间
(2). 存储范围
通过占用字节和所存范围分关系合理的选择类型例:Tinyint
经测试,Tinyint 的默认为有符号-128~127之间,当越界时自动取相应 的边界值。若要存
0~255无符号时:
列的可选属性:
Tinyin t (M ) un sig ned zerofill.
M :宽度(在0填充的时候才有意义)
Un sig ned:无符号类型(非负),影响存储范围 Zerofill :
0填充(默认无符号)
1> insert into test
-> (name,age3)
-> ualu&s
->「赵六'/S');
u QIC, 1 row aff?et&d (0.00 soc)
箕from t&st;
I id I name I age I agel I age2 I age3 I
卜--------- + ------------- + --------------- + -------------- + --------------- + ----------------- +
rows in at (0.07 SEC)
列可以声明默认值,而且推荐声明默认值not null default 0; ysql> alter table test add tinyint(3j not null default 0;
uery 0IC, 9 rows affected (0.13 $ec)
ecords: 9 Duplicates: 0 Uarnings: O
小数型/浮点型、定点型
Float(M,D):M代表总位数,D代表小数位
(6,2)为例:-9999.99 ->9999.99 12345G789一一一一张张张张
李
张
李
王
制
L
L
u
N
i NULL
L
L
u
N
L
L
J
N
I NULL NULL
L
L
u
N
三
四
三
四
五
六
6
NULL NULL I NULL I
L
L
u
N
NULL | 2G0 | NULL | NULL !
NULL I 0 I NULL I NULL |
NULL I NULL I 127 I NULL I
y$ql> t M from 七。兮七;
------ - -------------------------- + ----- ------
I id I name I age I agel I age2 I age3 I age4 I
I 25 I NULL I I 127 I
NULL I
I -128 I NULL I I 127 I
NULL I
I -100 | NULL I I NULL
I 200 I
I NULL I 0 I I NULL I
NULL I
I NULL I NULL I
NULL I NULL I NULL
I NULL I NULL I
NULL I NULL I NULL
I NULL I NULL I
NULL I NULL I NULL
I NULL I
127 I NULL I NULL I
00005 I
NULL I 06305 I
123456T89三三三
_:
一
四
三
四
五
六
张
张
张
张
李
张
李
王
赵
Decimal(D,M):