mysql数据类型中细节学习

来源:互联网 发布:关于淘宝开店的相关知识 编辑:程序博客网 时间:2024/05/16 05:48

mysql中支持的数据类型有整数类型(tinyint,smallint,mediumint ,int,bigint)浮点数类型(float,double)定点数类型(decimal)位类型(bit)

数值类型中需要注意的细节就是各个类型的取值范围

tinyint         1个字节(8位)  取值范围也就是0~255(2的8次方 减一)

smallint      2个字节(16位)取值范围是0~65536(2的16次方 减一)

mediumint 3个字节(24位)取值范围是0~1677215(2的24次方 减一)

int                4个字节 (32位)取值范围是0~(2的32次方 减一)

bigint          8个字节  (64位)取值范围是0~ (2的64次方减一)

需要注意一点,以上说明的取值范围都是无符号情况下,如果是有符号,那么需要有一位代表符号位,所以取值范围

负2的n次方~2的n-1次方减一 这里的n就是位数

建表时候会在类型后边加一个显示位数 例如int(5) 或者是mediumint(3)

这个数字仅仅只是显示时候会有点作用,对取值范围没有任何印象,如果插入的数据在该类型的取值范围之内,正常插入,查询的时候可以查询出来,如果插入的数据,比显示数字小,那么就在前面填满宽度

然后再说一下

char的长度取值范围是0~255

varchar的长度取值范围是0-65535

=========================================

比较运算中需要注意的问题

一般的比较运算操作,如果一个数和null比较,无论是=   <>   >   <   <=    >=那么结果都是null

如果想要和null比较,需要使用is null 或者isnot null

还有一个null-safe的比较运算符<=>

========================================

说明mysql中操作符的优先级

首先是赋值

然后是逻辑运算符  或>与>非

然后是between case when then else

接着是比较运算符


0 0