MySQL笔记 —SQL运算符

目录
  • 1.算术运算符
  • 2.比较运算符
    • 具体关键字
  • 3.逻辑运算符
  • 4.位运算符

1.算术运算符

+ - * /或DIV %或MOD

/或DIV

select 100/5,100 DIV 5 from dual;

结果:

100/5 100 DIV 5
20.0000 20

注意:/结果是浮点型有结果20.0000,但是DIV结果是20

取模运算%MOD

select 10 % 2,10 % 3,12 MOD -4 from dual;

结果:

10 % 2 10 % 3 12 MOD -4
0 1 0

2.比较运算符

< > = <=> <>或!= <= >=
小于 大于 等于 安全等于 不等于 小于等于 大于等于

<=>第一次学到比较特殊

select null <=> null,null = null,null != null from dual;

结果:

null<=>null null=null null!=null
1 null null

因此可以得出<=>就是为NULL而生,其余只要运算中有null结果为null

具体关键字

IS NULL 等于<=>NULL 运算及结果一样

ISNULL IS NULL也一样,但用法有点不一样

select salary from empty where salary is null;
select salary from empty where isnull(salary);
select salary from empty where salary <=> null;

大家在运用过程中最好最好用is null is not null

LEAST()min(),CREATEST()max() 一样,还是建议用min与max

BETWEEN  条件1 AND 条件2  (查询条件1到条件2范围数据,包含边界。条件1是下限,条件2是上限)

select * from emp
where salary between 3000 and 5000;

在emp表查询工资在3000到5000的员工信息

innot in

course表查询选修了(name)数据库,线性代数,概率论的同学信息

select * 
from course
where name in('数据库','线性代数','概率论');
#where name='数据库' or name='线性代数' or name='概率论';

很明显in对多个数据选择更加方便了,如果查不在里面的用not in()即可

like模糊查询

stu表查询了(name)性刘的同学信息

select *
from stu
where name like'刘%';

在stu表查询了(name)名字包含为刘的同学信息

select *
from stu
where name like'%刘%';

stu表查询了(name)名字包含刘也包含壮的同学信息

select *
from stu
where name like'%刘%' and name like'%壮%';

在stu表查询了(name)名字第二个字为刘的同学信息

select *
from stu
where name like'_刘%';

u表查询了(name)名字第二个为_且第三个字为刘的同学信息(需要使用转移字符\)

select *
from stu
where name like'_\_刘%';

不使用转移字符需要表中用escape(&不是必须的可以用任意字符)

select *
from stu
where name like'_&_刘%' escape '&';

正则表达式:(了解)

REGEXP运算符用来匹配字符串,语法格式为:expr REGEXP 匹配条件。如果expr满足匹配条件,返回1;如果不满足,则返回0。若expr或匹配条件任意一个为NULL,则结果为NULL。

REGEXP运算符在进行匹配时,常用的有下面几种通配符:

  • (1)‘^’匹配以该字符后面的字符开头的字符串。
  • (2)‘$’匹配以该字符前面的字符结尾的字符串。
  • (3)‘.’匹配任何一个单字符。
  • (4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。(3.4自我理解跟like差不多)
  • (5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。

3.逻辑运算符

NOT或! AND或&& OR或|| XOR
逻辑非 逻辑与 逻辑或 逻辑异或

注意:

OR可以和AND一起使用,但是在使用时要注意两者的优先级,由于AND的优先级高于OR,因此先对AND两边的操作数进行操作,再与OR中的操作数结合。

主要XOR有点陌生,有且只能取一方。

4.位运算符

& | ^ ~ >> <<
换位与(位AND) 换位或(位OR) 换位异或(位XOR) 按位取反 按位右移 按位左移

了解即可。

到此这篇关于MySQL笔记 —SQL运算符的文章就介绍到这了,更多相关 SQL运算符内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-01-12

MYSQL 运算符总结

目录 1.算数运算符 2.比较运算符 3.逻辑运算符 4.位运算符 5.运算符的优先级 1.算数运算符 MySQL支持的算术运算符: 运算符  作用  + 加法  -  减法 * 乘法  /,DIV  除法,返回商 %,MOD  除法,返回余数 例1: +,-,*,/,%, mysql> select 0.1+0.333,0.1-0.333,0.1*0.333,1/2,1%2; +-----------+-----------+-----------+--------+------+ | 0.1

Mysql常用运算符与函数汇总

我们先把数据表建好 use test; create table `employee`( emp_no int unsigned, emp_name varchar(30), emp_sex varchar(3), emp_age tinyint unsigned, sal double, history datetime ); insert into employee values(1, '张三', '男', 18, 5000, '2012-04-23'), (2, '李四', '男', 27

MySql中特殊运算符的使用方法总结

前言 mysql中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 这个大家应该都比较熟悉,但本文给大家总结介绍的关于MySql中特殊运算符的相关内容,下面话不多说了,来一起看看详细的介绍吧 1. <=> 安全比较运算符 mysql中任何与NULL做比较都会是NULL,常用来做判断是否是NULL. 当然我也可以采用IS NULL 2. := 赋值的作用 := 和 = 运算符都有赋值的作用,在大部分场景下并无区别,但 := 更为全场景些. = 只有在 set 和updat

MySql比较运算符正则式匹配REGEXP的详细使用详解

一.初始化数据 DROP TABLE IF EXISTS `test_01`; CREATE TABLE `test_01` ( `id` int(0) NOT NULL, `stu` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学号', `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_

MySQL <>和<=> 运算符介绍

<> 运算符 作用:表示不等于. 说明:和 "!=" 运算符的作用一致,相较之下 "<>" 的可读性较差. ### 查询非汉族用户,以下两条语句的作用是一致的. > SELECT * FROM user WHERE nation != "汉族"; > SELECT * FROM user WHERE nation <> "汉族"; <=> 运算符 作用:安全等于 说明

docker连接spring boot和mysql容器方法介绍

在之前使用docker部署运行了Spring Boot的小例子,但是没有使用数据库.在这一篇中,介绍docker如何启动mysql容器,以及如何将Spring Boot容器与mysql容器连接起来运行. docker基本命令 首先熟悉一下在操作过程中常用的docker基本命令: docker images:列出所有docker镜像 docker ps:列出所有运行中的容器,-a参数可以列出所有容器,包括停止的 docker stop container_id:停止容器 docker start

MySql索引详细介绍及正确使用方法

MySql索引详细介绍及正确使用方法 1.前言: 索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点. 索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧. 注:这里主要针对的是InnoDB存储引擎的B+Tree索引数据结构 2.索引的优点 1.大大减轻了服务器需要扫描的数据量,从而提高了数据的检索速度 2.帮助服务器避免排序和临时表 3.可以将

MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解

Mysql逻辑架构介绍总体概览 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离 . 这种架构可以根据业务的需求和实际需要选择合适的存储引擎. controller层: Connectors:连接层,c .java等连接mysql 业务逻辑处理成: Connection Pool:连接层 c3p0连接池等 Manager Service util:备份.容灾

MySQL 整体架构介绍

MySQL 在整体架构上分为 Server 层和存储引擎层.其中 Server 层,包括连接器.查询缓存.分析器.优化器.执行器等,存储过程.触发器.视图和内置函数都在这层实现.数据引擎层负责数据的存储和提取,如 InnoDB.MyISAM.Memory 等引擎.在客户端连接到 Server 层后,Server 会调用数据引擎提供的接口,进行数据的变更. 连接器 负责和客户端建立连接,获取用户权限以及维持和管理连接. 通过 show processlist; 来查询连接的状态.在用户建立连接后,

mySQL UNION运算符的默认规则研究

复制代码 代码如下: /* 建立数据表 */ create table td_base_data( id int(10) not null auto_increment,userId int(10) default '0',primary key (`id`))ENGINE=MyISAM DEFAULT CHARSET=gbk; create table td_base_data_20090527( id int(10) not null auto_increment,userId int(10

MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型INNODB和BERKLEY(BDB),也常常可以使用.如果技术高超,还可以使用MySQL+API自己做一个引擎.下面介绍几种数据库引擎:  ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数.因此,ISAM执行读取

MySQL数据库安全配置介绍第1/2页

1.前言: MySQL数据库是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具有功能强.使用简便.管理方便.运行速度快.安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序,特别是与PHP更是黄金组合,运用十分广泛.MySQL数据库的安全配置也是很有必要的,现在的MySQL数据库中信息的安全性常常受到威胁,故安全配置必不可少. 由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进

Fedora环境下装MySQL命令方法介绍

Fedora下装MySQL命令 首先赘述几句,我也是刚开始学习MySQL,如果有不对的地方,请大家指正,希望自己的一点点经验,能够帮到大家.下面开始介绍我的安装: 1. 我的操作系统是Fedora release 17.     在这里不涉及如何安装linux系统,如果有需要的朋友可以发站内消息给我.其实安装起来是蛮简单的.  2. 我安装的MySQL是最新版本的5.5.28.大家可以从这个网址下载到: http://www.mysql.com/downloads/mysql/     进入网址

Mysql索引详细介绍

Mysql索引概述 所有MySQL列类型可以被索引.对相关列使用索引是提高SELECT操作性能的最佳途径.根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. 在MySQL 5.1中,对于MyISAM和InnoDB表,前缀可以达到1000字节长.请注意前缀的限制应以字节为单位进行测量,而CREATE TABLE语句中的前缀长度解释为字符数.当为使用多字节字符集的列指定前缀长度时一定要加以考虑. 还可以创建

Node连接mysql数据库方法介绍

使用Node做Web开发,基本上都是使用NoSQL数据库,最频繁的就是使用MongoDB了,自己做了一些简单的Web开发,为了降低学习门槛,一直使用MySQL来做数据库.这里简单介绍一下连接MySQL数据库的方式,希望能帮助到其他人. npm install --save mysql 使用上述命令安装完MySQL的模块后,就可以直接使用了,官网的DOCS里一个简单的例子如下就可以入门了. var mysql = require('mysql'); var connection = mysql.c