MySQL 최적화 - 연산자에 대한 자세한 설명(그림)

黄舟
풀어 주다: 2017-03-10 10:02:22
원래의
1001명이 탐색했습니다.

MySQL 최적화 - 연산자 상세 설명(그림)

안전한 등호 연산자(<=>)

이 연산자는 = 연산자와 동일한 비교 연산을 수행하지만 <=>를 사용하여 NULL 값을 결정할 수 있습니다.

두 피연산자가 모두 NULL인 경우 반환 값은 NULL 대신 1입니다.

한 피연산자가 NULL인 경우 반환 값은 NULL 대신 0입니다.

다음은 SELECT NULL <=>1 SELECT1<=>0 SELECTNULL<=>NULL

의 실행 결과는 두 피연산자가 모두 NULL인 경우 반환 값은 NULL이 아닌 1입니다.

구문 형식은 LEAST(값 1, 값 2,...값 n)입니다. 여기서 n 값은 매개변수 목록에 n개의 값이 있음을 나타냅니다. 인수가 2개 이상인 경우 최소값을 반환합니다.

독립 변수가 NULL이면 LEAST()의 반환 값은 NULL입니다

LEAST 연산자를 사용하여 크기를 결정하는 SQL 문은 다음과 같습니다.


SELECT LEAST(2,0),LEAST(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;),LEAST(10,NULL)
로그인 후 복사

결과에서 볼 수 있듯이 매개변수가 정수 또는 부동 소수점 숫자인 경우 LEAST는 <인 경우 가장 작은 값을 반환합니다. 🎜>

매개변수가 문자열인 경우 알파벳 순서가 가장 높은 문자를 반환합니다.

비교값 목록에 NULL이 있는 경우 크기를 알 수 없으며 반환값이 반환됩니다. NULL

GREATEST 연산자

구문 형식은 GREATEST(값 1, 값 2,...값 n)입니다. 여기서 n 매개변수 목록에 n개의 값이 있다는 뜻입니다.

2개 이상의 인수를 사용하면 최대값을 반환합니다.

독립 변수가 NULL이면 GREATEST()의 반환 값은 NULL입니다

GREATEST 연산자를 사용하여 크기를 결정하는 SQL 문은 다음과 같습니다.

SELECT GREATEST(2,0),GREATEST(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;),GREATEST(10,NULL)
로그인 후 복사

결과에서 볼 수 있듯이 매개변수가 정수 또는 부동 소수점 숫자인 경우 GREATEST는 가장 큰 값을 반환합니다. >

파라미터가 문자열인 경우 알파벳순으로 마지막 문자를 반환합니다.

비교값 목록에 NULL이 있는 경우 크기를 알 수 없고 반환값이 NULL입니다. 🎜>

REGEXP 연산자


SQLSERVER에는 실제로 이와 관련하여 일반적인 함수나 연산자가 없습니다.


은 문자열 일치에 사용되며 구문 형식은 다음과 같습니다. expr REGEXP 일치 조건, expr이 일치 조건을 충족하면 1을 반환합니다.

충족하지 않으면 0을 반환합니다. 🎜>expr 또는 일치 조건이 NULL이면 결과는 NULL입니다.

일반적으로 사용되는 여러 와일드카드 문자:

(1) '^'는 이 문자 뒤의 문자로 시작하는 문자열과 일치합니다.

(2)' $'는 이 문자 뒤의 문자로 끝나는 문자열과 일치합니다. (3) '.'은 단일 문자와 일치합니다 (4) '[. ..]'는 대괄호 안에 있는 모든 문자와 일치합니다. 예를 들어 "[abc]"는 a, b 또는 c와 일치합니다.

문자 범위는 '-'를 사용할 수 있으며, "[a-z]"는 모든 문자와 일치하고 "[0-9]"는 모든 숫자와 일치합니다. (5) '*'는 모든 숫자와 일치합니다. 앞에 하나 이상의 문자가 0입니다. 예를 들어, "x*"는 임의 개수의 '*' 문자와 일치하고, "[0-9]*"는 임의 개수의 자릿수와 일치하고,

및 ".*"는 임의 개수의 임의 문자와 일치합니다.

REGEXP 연산자를 사용하여 문자열 일치 작업을 수행합니다. SQL 문은 다음과 같습니다.

SELECT &#39;ssky&#39; REGEXP &#39;^s&#39;,&#39;ssky&#39; REGEXP &#39;y$&#39; ,&#39;ssky&#39; REGEXP &#39;.sky&#39;,&#39;ssky&#39; REGEXP &#39;[ab]&#39;;
로그인 후 복사

결과에서 볼 수 있듯이 지정된 일치 문자열은 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(&#39;\&#39;&#39;)

SELECT * FROM table_1
로그인 후 복사



위 내용은 MySQL 최적화 - 연산자에 대한 자세한 설명(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!