21常见的数据类型
常见的数据类型
1、数值型:整型、浮点型(定点数、浮点数)
2、字符型:较短的⽂本:CHAR、VARCHAR
较长的⽂本:TEXT、BLOB(较长的⼆进制数据)
3、⽇期型
⼀、整型
整数类型字节范围
Tinyint1有符号:-128-127 ⽆符号:0~255
Smallint2有符号:-32768~32767 ⽆符号:0~65536
Mediumint3有符号:-8388608~8388607 ⽆符号:0~1677215
Int、Integer4有符号:-2147483648~2147483647 ⽆符号:0~4294967295 Bigint8有符号:-9223372036854775808~9223372036854775807 ⽆符号:0~9223372036854775807*2+1特点:
如果不设置⽆符号还是有符号,默认是有符号。如果想设置成⽆符号,需要添加unsigned关键字。
如果插⼊的数据超出了整型的范围,会报错。
如果不设置长度,会有默认的长度。
1、如何设置⽆符号和有符号
CREATE TABLE tab_int(
t1 INT,
t2 INT unsigned
);
结果:
⼆、⼩数
浮点数类型字节范围
float4±1.75494351E-38~±3.402823466E+38
double8±2.2250738585072014E-308~±1.7976931348623157E+308 DEC(M,D)、DECIMAL(M,D)M+2最⼤取值范围与double相同,给定decimal的有效值范围由M和D决定
特点:
M代表整数部位长度+⼩数部位长度
D代表⼩数部位长度
M跟D都可以省略,如果省略,float和double插⼊的值只要在其范围内即可,⽽DEC默认M为10,D为0
定点型的精度较⾼,如果需要⾼精度运算,如货币运算,优先考虑它
decimal是整数数据类型三、字符型
较短的⽂本:char、varchar
较长的⽂本:text、blob(较长的⼆进制)
字符串类型最长字节数说明
char M M为0~255之间的数
varchar M M为0~65536之间的数
特点:
char:固定长度的字符串,定义长度为10的话,⼀定会开辟10个字符的空间。M可以省略,默认为1。
varchar:可变长度的字符串,定义长度为10的话,“中国”字符串只开两个字符的空间,但是效率略低于char。M不可省略。ENUM类型:
⼜称为枚举类型,要求插⼊的值必须属于列表中指定的值之⼀。
如果列表成员数为1-255,则需要1个字节存储。
如果列表成员数为256-65535,则需要2个字节存储。
最多为65535个成员。
SET类型:
和ENUM类型类似,⾥⾯可以保存0~64个成员。
和ENUM类型最⼤的区别是:SET类型⼀次可以选取多个成员,⽽ENUM只能选⼀个。
根据成员数不同,存储所占的字节也不同。
1-8:1个字节;
9-16:2个字节;
17-24:3个字节;
25-32:4个字节;
33-64:8个字节。
四、⽇期型
⽇期和时间类型字节最⼩值最⼤值date41000-01-019999-12-31 datetime81000-01-01 00:00:009999-12-31 23:59:59
timestamp4197001010800012038年的某个时刻time3-838:59:59838:59:59
year119012155
datetime和timestamp的区别:
datetime表⽰的时间范围更⼤,当然,所占字节数也⼤;
timestamp个实际时区有关,更能反映实际的⽇期,⽽datetime只能反映出插⼊时的当地时区;
timestamp的属性受Mysql和SQLMode的影响很⼤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。