MySQL数据类型和运算符

数据类型
数据表由多列字段组成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就确定了插入的数据内容
数据类型分为数值数据类型,日期/时间类型和字符串类型
数值数据类型分为整数型,浮点型,定点类型

整数型:
在这里插入图片描述
插入方式;
无符号,5个宽度(5) unsigned;(unsigned为整数)
alter table 表名 modify 列名 tinyint(5) unsigned;
alter table 表名 modify 列名 smallint(5) unsigned;
alter table 表名 modify 列名 mediumint(5) unsigned;
alter table 表名 modify 列名 int(5) unsigned;
alter table 表名 modify 列名 bigint(5) unsigned;

浮点类型:
在这里插入图片描述
插入方式:
alter table 表名 modify 列名 float(5) unsigned;
alter table 表名 modify 列名 double(5) unsigned;

定点类型:
在这里插入图片描述
插入方式:
alter table 表名 modify 列名 decimal(5,2) unsigned

日期/时间类型:
MySQL有多种表示日期的数据类型,每一个类型都有合法的取值范围,当指定确实不合法的值时系统将“零”值插入到数据库中
在这里插入图片描述
插入方式
年:alter table 表名 modify 列名 year ;
时间:alter table 表名 modify 列名 time ;
日期:alter table 表名 modify 列名 date ;
日期时间:alter table 表名 modify 列名 datetime ;
时间戳:alter table 表名 modify 列名 timestamp ;

字符窜类型:
字符串类型是用来存储字符串数据,还可存储如图片声音的二进制数据。MySQL支持两种字符串:文本字符串和二进制字符串

文本字符串:
在这里插入图片描述
插入方式:
字符串:alter table 表名 modify 列名 char;
可变长字符串:alter table 表名 modify 列名 varchar(5);
枚举:alter table 表名 modify 列名 enum(男,女);
集合:alter table 表名 modify 列名 set(1,2,3,4,5);

二进制字符串类型:
在这里插入图片描述

MySQL算数运算符:
运算符分为算数运算符,位运算符,逻辑运算符

算数运算符:
+:加法运算
-:减法运算
*:乘法运算
/:除法运算,返回商
%:求余运算,返回余数
在这里插入图片描述
1、等于运算符 ( = )
等于运算符用来判断数字、字符串和表达式是否相等,如果相等,则返回值为 1 ,否则返回值为 0 ,如果有一 个值是 NULL ,则比较结果为 NULL
2、安全等于运算符 ( <=> )
这个操作符和等于运算符(=)的作用一致,只不过多了一个功能,就是可以判断 NULL 值
3、不等于运算符 ( <> 或 != )
不等于运算符用于判断数字、字符串、表达式是否不相等,如果不相等则返回 1,否则返回 0 ,但是不能判断 NULL 值
4、IS NULL 、ISNULL 、IS NOT NULL

  1. IS NULL 和 ISNULL 检验一个值是否为 NULL ,如果为 NULL ,返回值为 1,否则返回值为 0
  2. IS NOT NULL 检验一个值是否不为 NULL ,如果不为 NULL ,返回值为 1,否则返回值为 0
    5、BETWEEN AND 用于判断一个值是否落在两个值之间
    6、LEAST 、GREATEST
  3. LEAST :当有两个或多个参数时,返回最小值,如果有一个值是 NULL ,则返回结果为 NULL
  4. GREATEST :当有两个或多个参数时,返回最大值,如果有一个值是 NULL ,则返回结果为 NULL
    7、IN 、NOT IN
  5. IN :判断一个值是否是 IN 列表中的任意一个值
  6. NOT IN :判断一个值是否不是 IN 列表中的任意一个值
    8、LIKE 1. LIKE 运算符用来匹配字符串,如果匹配则返回
    1,如果不匹配则返回 0
  7. LIKE 使用两种通配符:’%’ 用于匹配任何数目的字符,包括零字符 ; ‘_’ 只能匹配一个字
    9、REGEXP
  8. REGEXP 运算符用来匹配字符串,如果匹配则返回 1,如果不匹配则返回 0
  9. REGEXP 使用几种通配符:
    ‘^’ 用于匹配以什么开头的字符串
    ‘$’ 用于匹配以什么结尾的字符串
    ‘.’ 用于匹配任何一个单字符串
    ‘[…]’ 用于匹配在方括号内的任何字符
    ‘*’ 用于匹配零个或多个在它前面的字符

逻辑运算符
在这里插入图片描述
1、逻辑非 ( NOT 或 !)

  1. 当操作数为 0 时,所得值为 1
  2. 当操作数为非 0 时,所得值为 0
  3. 当操作数为 NULL 时,所得值为 NULL
    2、逻辑与 ( AND 或 && )
  4. 当所有操作数均为非零值、并且不为 NULL 时,所得值为 1
  5. 当一个或多个操作数为 0 时,所得值为 0
  6. 其余情况所得值为 NULL
    3、逻辑或 ( OR 或 || )
  7. 当两个操作数均为非 NULL 值,且任意一个操作数为非零值时,结果为 1 ,否则为 0
  8. 当有一个操作数为 NULL ,且另一个操作数为非零值时,则结果为 1 ,否则结果为 NULL
  9. 当两个操作数均为 NULL 时,则所得结果为 NULL
    4、逻辑异或 ( XOR )
  10. a XOR b 的计算等同于 ( a AND (NOT b) ) 或 ( (NOT a) AND b )
  11. 当任意一个操作数为 NULL 时,返回值为 NULL
  12. 对于非 NULL 的操作数,如果两个操作数都是非 0 值或者都是 0 值,则返回结果为 0
  13. 如果一个为 0 值,另一个为非 0 值,返回结果为 1

位运算符
在这里插入图片描述
1、 位或运算符 ( | ) :对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0
2、 位与运算符 ( & ) :对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
3、 位异或运算符 ( ^ ) :对应的二进制位不相同时,结果为 1 ,否则为 0
4、 位左移运算符 ( << ) :使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出 并丢弃,右边低位空出的位置用 0 补齐
5、 位右移运算符 ( >> ) :使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出 并丢弃,左边高位空出的职位用 0 补齐
6、 位取反运算符 ( ~ ) :将对应的二进制数逐位反转,即 1 取反后变 0 , 0 取反后变 1

运算符优先级:
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值