MySQL数据类型和运算符

MySQL数据类型


1、整数类型

TINYINT:1个字节
SMALLINT:2个字节
MEDIUMINT:3个字节
INT:4个字节
BIGINT:8个字节

显示宽度:year int(4) 显示宽度和数据类型的取值范围是无关的,位数小于宽度时,会用空格填充;位数若大于时,在不超过该类型范围时,数值依旧能插入并能显示。若插入 year=19999,则显示的就是19999

2、浮点数类型和顶点数类型

FLOAT:4个字节
DOUBLE:8个字节
DECIMAL(M,D),DEC:压缩的“严格”定点数,M+2个字节,以串进行存放的

例:create table table_1(x float(5,1),y double(5,1),z decimal(5,1));
第一位称为精度,表示总共的位数;第二位为称为标度,小数点后的位数
此处都超过给定的精度范围,float、double不会给出警告,但decimal会给出warning

3、日期与时间类型

YEAR:YYYY 1字节 1901~2155
TIME:HH:MM:SS 3字节
DATE:YYYY-MM-DD 3字节
DATETIME:YYYY-MM-DD HH:MM:SS 8字节
TIMESTAMP:YYYY-MM-DD HH:MM:SS 4字节

YEAR
(1)以字符串格式表示的YEAR,’00’~’69’—>2000~2069;’70’~’99’—>1970~1999
(2)以字符串格式表示的YEAR,’01’~’69’—>2001~2069;’70’~’99’—>1970~1999;
‘00’—>0000

TIME
(1)’D HH:MM:SS’ D被转换为小时保存,格式为”D*24+HH
(2)’HHMMSS’—>若为’1112’,则为 00:11:12

DATE 仅有日期
(1)使用CURRENT_DATE或NOW(),插入当前系统日期

DATETIME
(1)’YYYY-MM-DD HH:MM:SS’或’YYYYMMDDHHMMSS’字符串格式
(2)’YY-MM-DD HH:MM:SS’或’YYMMDDHHMMSS’字符串格式
(3)YYYYMMDDHHMMSS或YYMMDDHHMMSS数字格式
(4)NOW()当前日期和时间值

TIMESTAMP
范围:’1970-01-01’~’2038-01-19 03:14:07’UTC(世界标准时间)
与DATETIME区别:DATETIME按实际输入格式存储,TIMESTAMP存储是以UTC格式保存的,存储时对当前时区进行转换,检索式在转换回当前时区
例:设置东十区时间 set time_zone+='+10:00'

4、字符串类型

CHAR(M) 固定长度非二进制字符串 不管长度多少,空间均为M个字节
VARCHAR(M) 变长非二进制字符串 可变
TINYTEXT 非常小
TEXT 小
MEDIUMTEXT 中
LONGTEXT 大
ENUM 枚举类型 索引值从1开始 只能取单值
SET 插入值有重复自动删除重复的值 可取多值

5、二进制类型

BIT(M) 位字段类型 select BIN(字段+0)from table;字段+0表示将二进制转换为对应数字的值,BIN()函数将数字转换为二进制
BINARY(M) 固定
VARBINARY(M) 可变
TINYBLOB(M) 非常小
BLOB(M) 小
MEDIUMBLOB(M) 中等
LONGBLOB(M) 非常大


常见运算符

1、算术运算符
2、比较运算符

= “=”不能用于NULL的判断
安全等于运算符<=> 可以用来判断NULL值
<>或!=
IS NULL(ISNULL)、IS NOT NULL运算符
BETWEEN AND运算符 语法:expr BETWEEN min AND max
LEAST运算符 语法:LEAST(值1,值2,…值n),返回最小值,若含null,则返回null
GREATEST(value1,value2)返回最大值
IN、NOT IN 运算符 判断操作数是否为IN列表的值
LIKE:(1)”%”匹配任何数目的字符(2)”_”只能匹配一个字符
REGEXP:匹配字符串 (1)’^’匹配以该字符后面的字符开头的字符串(2)’$’结尾(3)匹配任一单字符(4)”[…]”匹配方括号(5)’*’匹配零个或多个在它前面的字符

3、逻辑运算符

NOT或!
AND或&&
OR或||
XOR 异或

4、位运算符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值