mysql=====mysql数据运算(2)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

1. 案例目的

创建数据表,并对表中的数据进行运算操作,掌握各种运算符的使用方法。


创建表tmp15,其中包含VARCHAR类型的字段note和INT类型的字段price,使用运算符对表tmp15中不同的字段进行运算;使用逻辑操作符对数据进行逻辑操作;使用位操作符对数据进行位操作。

本案例使用数据表tmp15,首先创建该表,SQL语句如下:

CREATE TABLE tmp15 (note VARCHAR(100), price INT);

向表中插入一条记录,note值为“Thisisgood”,price值为50,SQL语句如下:

INSERT INTO tmp15 VALUES(“Thisisgood”, 50);


2. 案例操作过程

  对表tmp15中的整型数值字段price进行算术运算,执行过程如下:

 SELECT price, price + 10, price -10, price * 2, price /2, price%3 FROM tmp15 ;

+--------+------------+-----------+-----------+-----------+---------+

| price  | price + 10 | price -10 | price * 2 | price /2 | price%3 |

+--------+------------+-----------+-----------+-----------+---------+

|    50 |      60 |      40 |    100 |  25.0000 |     2 |

+--------+------------+-----------+-----------+-----------+---------+

  对表tmp15中的整型数值字段price进行比较运算,执行过程如下:

 SELECT price, price> 10, price<10, price != 10, price =10, price <=>10,price <>10 FROM tmp15 ;

+--------+-----------+-----------+--------------+------------+---------------+--------------+

| price  | price> 10 | price<10 | price != 10 | price =10 | price <=>10 | price <>10 |

+--------+-----------+-----------+--------------+------------+---------------+--------------+

|    50 |       1 |      0 |         1 |       0 |          0 |        1 |

+------ -+-----------+-----------+--------------+------------+----------------+--------------+

判断price值是否落在30~80区间;返回与70,30相比最大的值,判断price是否为IN列表(10, 20, 50, 35)中的某个值,执行过程如下:

mysql> SELECT price, price BETWEEN 30 AND 80, GREATEST(price, 70,30), price IN (10, 20, 50,35) FROM tmp15 ;

+--------+------------------------------------+--------------------------------+----------------------------+

| price  | price BETWEEN 30 AND 80 | GREATEST(price, 70,30) | price IN (10, 20, 50,35) |

+--------+------------------------------------+--------------------------------+----------------------------+

|    50 |                       1 |                    70 |                  1 |

+--------+------------------------------------+--------------------------------+----------------------------+

  对tmp15中的字符串数值字段note进行比较运算,判断表tmp15中note字段是否为空;使用LIKE判断是否以字母’t’开头;使用REGEXP判断是否以字母’y’结尾;判断是否包含字母’g’或者’m’,执行过程如下:

mysql> SELECT note, note IS NULL, note LIKE 't%', note REGEXP '$y' ,note REGEXP '[gm]' FROM tmp15 ;

+--------------+----------------+-------------------+-----------------------+--------------------------+

| note      | note IS NULL | note LIKE 't%' | note REGEXP '$y' | note REGEXP '[gm]' |

+--------------+----------------+------------------+------------------------+--------------------------+

| Thisisgood |           0 |           1 |               0 |                1 |

+--------------+-----------------+------------------+----------------------+---------------------------+

  将price字段值与NULL,0进行逻辑运算,执行过程如下:

mysql> SELECT price, price && 1, price && NULL, price||0, price AND 0, 0 AND NULL, price OR NULL FROM tmp15 ;

+--------+--------------+--------------------+----------+---------------+------------------+--------------------+

| price  | price && 1 | price && NULL | price||0 | price AND 0 | 0 AND NULL | price OR NULL |

+--------+--------------+--------------------+----------+---------------+------------------+--------------------+

|    50 |         1 |        NULL |      1 |         0 |           0 |             1 |

+--------+--------------+-------------------+-----------+---------------+------------------+--------------------+

1 row in set (0.00 sec)


mysql>  SELECT price,!price,NOT NULL,price XOR 3, 0 XOR NULL, price XOR 0 FROM tmp15 ;

+--------+--------+--------------+----------------+-----------------+-----------------+

| price  | !price | NOT NULL | price XOR 3 | 0 XOR NULL | price XOR 0 |

+--------+--------+--------------+----------------+-----------------+-----------------+

|    50 |     0 |    NULL |          0 |      NULL |           1 |

+--------+--------+--------------+----------------+-----------------+-----------------+

1 row in set (0.00 sec)

  将price字段值与2、4进行按位与、按位或操作,并对price进行按位操作,执行过程如下:

mysql> SELECT price, price&2 , price|4, ~price FROM tmp15 ;

+--------+----------+---------+-----------------------------+

| price  | price&2 | price|4 | ~price               |

+--------+----------+---------+-----------------------------+

|    50 |      2 |    54 | 18446744073709551565 |

+--------+----------+---------+------------------------------+

  将price字段值分别左移和右移两位,执行过程如下:

mysql> SELECT price, price<<2, price>>2  FROM tmp15 ;

+--------+------------+-----------+

| price  | price <<2 | price>>2 |

+--------+------------+-----------+

|    50 |     200 |      12 |

+--------+------------+-----------+




本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1973950,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
缓存 NoSQL 关系型数据库
13- Redis和Mysql如何保证数据⼀致?
该内容讨论了保证Redis和MySQL数据一致性的几种策略。首先提到的两种方法存在不一致风险:先更新MySQL再更新Redis,或先删Redis再更新MySQL。第三种方案是通过MQ异步同步以达到最终一致性,适用于一致性要求较高的场景。项目中根据不同业务需求选择不同方案,如对一致性要求不高的情况不做处理,时效性数据设置过期时间,高一致性需求则使用MQ确保同步,最严格的情况可能涉及分布式事务(如Seata的TCC模式)。
35 6
|
16天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
|
23天前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
20 0
|
26天前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
20 1
|
26天前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
24 1
|
1月前
|
SQL 关系型数据库 MySQL
MySQL怎样删除重复数据,只保留一条?
MySQL怎样删除重复数据,只保留一条?
|
26天前
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
15 1
|
26天前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
21 1
|
26天前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
21 2
|
26天前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1