집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 최적화 - 연산자에 대한 자세한 설명(그림)
MySQL 최적화 - 연산자 상세 설명(그림)
안전한 등호 연산자(96b4fef55684b9312718d5de63fb7121)
이 연산자는 = 연산자와 동일한 비교 연산을 수행하지만 96b4fef55684b9312718d5de63fb7121를 사용하여 NULL 값을 결정할 수 있습니다.
두 피연산자가 모두 NULL인 경우 반환 값은 NULL 대신 1입니다.
한 피연산자가 NULL인 경우 반환 값은 NULL 대신 0입니다.
다음은 SELECT NULL 96b4fef55684b9312718d5de63fb71211 SELECT196b4fef55684b9312718d5de63fb71210 SELECTNULL96b4fef55684b9312718d5de63fb7121NULL
의 실행 결과는 두 피연산자가 모두 NULL인 경우 반환 값은 NULL이 아닌 1입니다.
구문 형식은 LEAST(값 1, 값 2,...값 n)입니다. 여기서 n 값은 매개변수 목록에 n개의 값이 있음을 나타냅니다. 인수가 2개 이상인 경우 최소값을 반환합니다.
독립 변수가 NULL이면 LEAST()의 반환 값은 NULL입니다
SELECT LEAST(2,0),LEAST('a','b','c'),LEAST(10,NULL)
결과에서 볼 수 있듯이 매개변수가 정수 또는 부동 소수점 숫자인 경우 LEAST는
매개변수가 문자열인 경우 알파벳 순서가 가장 높은 문자를 반환합니다. 비교값 목록에 NULL이 있는 경우 크기를 알 수 없으며 반환값이 반환됩니다. NULL GREATEST 연산자 구문 형식은 GREATEST(값 1, 값 2,...값 n)입니다. 여기서 n 매개변수 목록에 n개의 값이 있다는 뜻입니다.2개 이상의 인수를 사용하면 최대값을 반환합니다.
독립 변수가 NULL이면 GREATEST()의 반환 값은 NULL입니다
GREATEST 연산자를 사용하여 크기를 결정하는 SQL 문은 다음과 같습니다.
SELECT GREATEST(2,0),GREATEST('a','b','c'),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 'ssky' REGEXP '^s','ssky' REGEXP 'y$' ,'ssky' REGEXP '.sky','ssky' REGEXP '[ab]';
결과에서 볼 수 있듯이 지정된 일치 문자열은 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中提供的位运算有
按位或(|)
按位与(&)
按位异或(^)
按位左移(63925bc6f8da241ea167fd1069c246ca>)
按位取反(~):反转所有比特
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!