MySQL学习系列4:运算符
MYSQL中的运算符很多,这一节主要讲MYSQL中有的,而SQLSERVER没有的运算符
安全等于运算符(<=>)
这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。
在两个操作数均为NULL时,其返回值为1而不为NULL;
而当一个操作数为NULL时,其返回值为0而不为NULL。
下面分别是 SELECT NULL <=>1 SELECT 1<=>0 SELECT NULL <=>NULL 的执行结果
在两个操作数均为NULL时,其返回值为1而不为NULL;
LEAST运算符
语法格式为:LEAST(值1,值2,…值n),其中值n表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值。
假如任意一个自变量为NULL,则LEAST()的返回值为NULL
使用LEAST运算符进行大小判断,SQL语句如下:
由结果可以看到,当参数中是整数或者浮点数时,LEAST将返回其中最小的值;
当参数为字符串时,返回字母中顺序最靠前的字符;
当比较值列表中有NULL时,不能判断大小,返回值为NULL
GREATEST运算符
语法格式为: GREATEST(值1,值2,…值n),其中n表示参数列表中有n个值。
在有两个或多个参数的情况下,返回最大值。
假如任意一个自变量为NULL,则GREATEST()的返回值为NULL
使用GREATEST运算符进行大小判断,SQL语句如下:
由结果可以看到,当参数中是整数或者浮点数时,GREATEST将返回其中最大的值;
当参数为字符串时,返回字母中顺序最靠后的字符;
当比较值列表中有NULL时,不能判断大小,返回值为NULL
REGEXP 运算符
在SQLSERVER里是没有正则函数或者运算符的,MYSQL在这方面的确比较完善
用来匹配字符串,语法格式为:expr REGEXP 匹配条件,如果expr满足匹配条件,返回1;
如果不满足,则返回0;
若expr或匹配条件任意一个为NULL,则结果为NULL
常用的几种通配符:
(1)’^'匹配以该字符后面的字符开头的字符串
(2)’$'匹配以该字符后面的字符结尾的字符串
(3)’.'匹配任何一个单字符
(4)’[...]‘匹配在方括号内的任何字符。例如,“[abc]” 匹配a、b或c。
字符的范围可以使用一个’-',“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字
(5)’*’ 匹配零个或多个在他前面的字符。例如,“x*”匹配任何数量的’*'字符,“[0-9]*”匹配任何数量的数字,
而“.*”匹配任何数量的任何字符。
使用REGEXP 运算符进行字符串匹配运算,SQL语句如下:
由结果可以看到,指定匹配字符串为ssky。
‘^s’表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1;
‘y$’表示匹配任何以字母y结尾的字符串,因此满足匹配条件,返回1;
‘.sky’表示匹配任何以sky结尾,字符长度为4的字符串,因此满足匹配条件,返回1;
‘^s’表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1;
‘[ab]‘表示匹配任何包含字母a或者b的字符串,指定字符串中没有字母a也没有字母b,因此不满足匹配条件,返回0;
TIPS:正则表达式是一个可以进行复杂查询的强大工具,相对于LIKE字符串匹配,他可以使用更多的通配符类型
查询结果更加灵活。
逻辑运算符
逻辑与运算符:AND或者&&
逻辑或运算符:OR或者||
上面两个运算符就不说了
在SQLSERVER里,与运算符是AND或者& ;或运算符是OR或者|
http://sqlfool.com/2009/02/bitwise-operations/
异或运算符:XOR
当任意一个操作数为NULL时,返回值为NULL;对于非NULL的操作数,如果两个操作数都是非0值或者都是0值,则返回结果为0;
如果一个为0值,另一个为非0值,返回结果为1
使用异或运算符XOR进行逻辑判断,SQL语句如下
由结果可以看到‘1 XOR 1’和‘0 XOR 0’中运算符两边的操作数都为非零值,或者都是零值,因此返回0;
’1 XOR 0′中两边的操作数,一个为0值,另一个为非0值,返回结果为1;
’1 XOR NULL’中有一个操作数为NULL,返回结果为NULL;
’1 XOR 1 XOR 1′中有多个操作数,运算符相同,因此运算符从左到右依次计算,’1 XOR 1′的结果为0,再与1进行异或运算,因此结果为1。
TIPS: a XOR b的计算等同于(a AND (NOT b))或者(NOT a AND ( b))
位运算符
由于比较少用到,这里只做简单介绍
位运算符是用来对二进制字节中的位进行测试、移位或者测试处理
MYSQL中提供的位运算有
按位或(|)
按位与(&)
按位异或(^)
按位左移(<<)
按位右移(>>)
按位取反(~):反转所有比特
TIPS:可以使用BIN()=binary函数查看一个十进制数的二进制表示
例如20这个数字 SELECT BIN(20)
二进制表示为:10100
同样 sqlserver也是有位运算符的,但是没有mysql那么多,如下
特别提示
某一些MYSQL中的特殊字符需要用转义字符才能插入数据库,否则产生意料之外的结果。
下面的特殊字符需要在输入时加反斜线符号开头
输入单引号需要:\’
输入双引号需要:\”
输入反斜杠:\\
输入回车符:\r
输入换行符:\n
输入制表符:\tab
输入退格符:\b
在插入这些特殊字符到数据库之前一定要进行转义处理
在SQLSERVER里,这些特殊字符不是在前面加反斜杠\,而是加单引号’
例如插入一个单引号,加了反斜杠,插入成功
总结
这一节简单介绍了MYSQL里的一些运算符和特殊字符,并且比较了与SQLSERVER的区别
以上就是MySQL学习系列4:运算符的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

可在 Navicat 中通过以下步骤新建 MySQL 连接:打开应用程序并选择“新建连接”(Ctrl N)。选择“MySQL”作为连接类型。输入主机名/IP 地址、端口、用户名和密码。(可选)配置高级选项。保存连接并输入连接名称。

直接从数据库中恢复被删除的行通常是不可能的,除非有备份或事务回滚机制。关键点:事务回滚:在事务未提交前执行ROLLBACK可恢复数据。备份:定期备份数据库可用于快速恢复数据。数据库快照:可创建数据库只读副本,在数据误删后恢复数据。慎用DELETE语句:仔细检查条件,避免误删数据。使用WHERE子句:明确指定要删除的数据。使用测试环境:在执行DELETE操作前进行测试。

Redis 使用单线程架构,以提供高性能、简单性和一致性。它利用 I/O 多路复用、事件循环、非阻塞 I/O 和共享内存来提高并发性,但同时存在并发性受限、单点故障和不适合写密集型工作负载的局限性。
