MySQL の最適化 - 演算子の詳細な説明 (図)
安全な等号演算子 ()
この演算子は = 演算子と同じ比較演算を実行しますが、
両方のオペランドが NULL の場合、戻り値は NULL ではなく 1 になります。
一方のオペランドが NULL の場合、戻り値は NULL ではなく 0 になります。
以下は SELECT NULL 1 SELECT10 SELECTNULL< ;=> NULL
両方のオペランドが NULL の場合、戻り値は NULL ではなく 1 になります。税形式記号
いずれかの独立変数が NULL の場合、LEAST() の戻り値は NULL になります
LEAST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。結果から、パラメータが整数または浮動小数点数の場合、LEAST は最小値を返します
パラメータが文字列の場合、アルファベットの最上位の文字を返します
比較値リストでは、サイズを決定できません。戻り値は NULL ですGREATEST 演算子
構文形式は次のとおりです: GREATEST (値 1, 値 2,...値 n)、ここで、n は意味しますパラメータリストにはn個の値があります。
2つ以上のパラメータがある場合は、最大値を返します。
独立変数が NULL の場合、GREATEST() の戻り値は NULL になります
GREATEST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。
SELECT LEAST(2,0),LEAST('a','b','c'),LEAST(10,NULL)
結果から、パラメータが整数または浮動小数点数の場合、GREATEST は最大値を返します。
パラメータが文字列の場合、アルファベット順の最後の文字が返されます。比較値リスト、サイズは決定できず、戻り値は NULL ですREGEXP 演算子
SQLSERVER には、この点に関しては確かに比較的完全な関数や演算子が使用されています。文字列と一致する場合の構文形式は次のとおりです: expr REGEXP 一致条件、expr が一致する場合は 1 を返します
一致しない場合は 0 を返します
expr または一致条件が NULL の場合、結果は NULL になります。
一般的に使用されるいくつかのワイルドカード:
文字の範囲には「-」を使用でき、「[a-z]」は任意の文字に一致し、「[0-9]」は任意の数字に一致します (5) 「*」はその前にある 0 個以上の文字に一致します。たとえば、「x*」は任意の数の「*」文字に一致し、「[0-9]*」は任意の数の数字に一致し、
および「.*」は任意の数の任意の文字に一致します。REGEXP 演算子を使用して文字列一致操作を実行します。 SQL ステートメントは次のとおりです。
SELECT GREATEST(2,0),GREATEST('a','b','c'),GREATEST(10,NULL)結果からわかるように、指定された一致文字列は ssky です。 '^s' は、文字 s で始まる任意の文字列と一致することを意味するため、一致条件が満たされ、1 が返されます。 'y$' は、文字 y で終わる任意の文字列を意味するため、一致条件が満たされます。そして 1 が返されます
'.sky'表示匹配任何以sky结尾,字符长度为4的字符串,因此满足匹配条件,返回1;
'^s'表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1;
'[ab]'表示匹配任何包含字母a或者b的字符串,指定字符串中没有字母a也没有字母b,因此不满足匹配条件,返回0;
注意:正则表达式是一个可以进行复杂查询的强大工具,相对于LIKE字符串匹配,他可以使用更多的通配符类型,查询结果更加灵活
逻辑运算符
逻辑与运算符:AND或者&&
逻辑或运算符:OR或者||
异或运算符:XOR
当任意一个操作数为NULL时,返回值为NULL;对于非NULL的操作数,如果两个操作数都是非0值或者都是0值,则返回结果为0;
如果一个为0值,另一个为非0值,返回结果为1
使用异或运算符XOR进行逻辑判断,SQL语句如下
SELECT 1 XOR 1, 0 XOR 0,1 XOR 0,1 XOR NULL,1 XOR 1 XOR 1
由结果可以看到‘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。
注意: a XOR b的计算等同于(a AND (NOT b))或者(NOT a AND ( b))
位运算符
由于比较少用到,这里只做简单介绍
位运算符是用来对二进制字节中的位进行测试、移位或者测试处理
MYSQL中提供的位运算有
按位或(|)
按位与(&)
按位异或(^)
按位左移(
按位右移(>>)
按位取反(~):反转所有比特
TIPS:可以使用BIN()=binary函数查看一个十进制数的二进制表示
例如20这个数字 SELECT BIN(20)
二进制表示为:10100
特别提示
某一些MYSQL中的特殊字符需要用转义字符才能插入数据库,否则产生意料之外的结果。
下面的特殊字符需要在输入时加反斜线符号开头
输入单引号需要:\'
输入双引号需要:\''
输入反斜杠:\\
输入回车符:\r
输入换行符:\n
输入制表符:\tab
输入退格符:\b
在插入这些特殊字符到数据库之前一定要进行转义处理
例如插入一个单引号,加了反斜杠,插入成功
INSERT INTO table_1(NAME) VALUES('\'') SELECT * FROM table_1
以上がMySQL の最適化 - 演算子の詳細な説明 (図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



