Home Database Mysql Tutorial MySQL optimization—detailed explanation of operators (picture)

MySQL optimization—detailed explanation of operators (picture)

Mar 10, 2017 am 10:02 AM

MySQL optimization - detailed explanation of operators (picture)

Safe equal operator (<=>)

This operator performs the same comparison operation as the = operator, but <=> can be used to determine NULL values.

When both operands are NULL, the return value is 1 instead of NULL;

When one operand is NULL, the return value is 0 instead of NULL .

The following are SELECT NULL <=>1 SELECT1<=>0 SELECTNULL<=>NULL Execution result

When both operands are NULL, the return value is 1 instead of NULL;


#LEAST operator

The syntax format is: LEAST (value 1, value 2,...value n), where the value n indicates that there are n values ​​in the parameter list. In the case of two or more arguments, returns the minimum value.

If any independent variable is NULL, the return value of LEAST() is NULL

Use the LEAST operator to determine the size. The SQL statement is as follows:

SELECT LEAST(2,0),LEAST(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;),LEAST(10,NULL)
Copy after login

As you can see from the results, when the parameter is an integer or floating point number, LEAST will return the smallest value;

When When the parameter is a string, the character with the highest order in the alphabet is returned;

When there is NULL in the comparison value list, the size cannot be determined, and the return value is NULL

GREATEST operator

The syntax format is: GREATEST(value 1, value 2,...value n), where n indicates that there are n values ​​in the parameter list.

In the case of two or more parameters, return the maximum value.

If any independent variable is NULL, the return value of GREATEST() is NULL

Use the GREATEST operator to determine the size. The SQL statement is as follows:

SELECT GREATEST(2,0),GREATEST(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;),GREATEST(10,NULL)
Copy after login



As you can see from the results, when the parameter is an integer or floating point number, GREATEST will return the largest value;

When When the parameter is a string, the last character in alphabetical order is returned;

When there is NULL in the comparison value list, the size cannot be determined, and the return value is NULL

REGEXP operator

There are no regular functions or operators in SQLSERVER. MYSQL is indeed relatively complete in this regard

is used for matching String, syntax format is: expr REGEXP matching condition, if expr meets the matching condition, return 1;

If it does not meet, return 0;

If either expr or the matching condition is NULL , the result is NULL

Several commonly used wildcard characters:

(1) '^' matches a string starting with the character after this character

(2)' $' matches a string ending with the character after this character

(3) '.' matches any single character

(4) '[...]' matches square brackets any characters within. For example, "[abc]" matches a, b, or c.

The range of characters can use a '-', "[a-z]" matches any letter, and "[0-9]" matches any number

(5) '*' matches zero one or more characters preceding it. For example, "x*" matches any number of '*' characters, "[0-9]*" matches any number of digits,

and ".*" matches any number of any characters.

Use the REGEXP operator to perform string matching operations. The SQL statement is as follows:

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;;
Copy after login


As you can see from the results, the specified matching string is ssky.

'^s' means matching any string starting with the letter s, so the matching condition is met and 1 is returned;

'y$' means matching any string ending with the letter y, Therefore, the matching condition is met and 1 is returned;

'.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
Copy after login


由结果可以看到‘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
Copy after login



The above is the detailed content of MySQL optimization—detailed explanation of operators (picture). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to open phpmyadmin How to open phpmyadmin Apr 10, 2025 pm 10:51 PM

You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

MySQL: An Introduction to the World's Most Popular Database MySQL: An Introduction to the World's Most Popular Database Apr 12, 2025 am 12:18 AM

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

How to use single threaded redis How to use single threaded redis Apr 10, 2025 pm 07:12 PM

Redis uses a single threaded architecture to provide high performance, simplicity, and consistency. It utilizes I/O multiplexing, event loops, non-blocking I/O, and shared memory to improve concurrency, but with limitations of concurrency limitations, single point of failure, and unsuitable for write-intensive workloads.

MySQL's Place: Databases and Programming MySQL's Place: Databases and Programming Apr 13, 2025 am 12:18 AM

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

Why Use MySQL? Benefits and Advantages Why Use MySQL? Benefits and Advantages Apr 12, 2025 am 12:17 AM

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

Monitor Redis Droplet with Redis Exporter Service Monitor Redis Droplet with Redis Exporter Service Apr 10, 2025 pm 01:36 PM

Effective monitoring of Redis databases is critical to maintaining optimal performance, identifying potential bottlenecks, and ensuring overall system reliability. Redis Exporter Service is a powerful utility designed to monitor Redis databases using Prometheus. This tutorial will guide you through the complete setup and configuration of Redis Exporter Service, ensuring you seamlessly build monitoring solutions. By studying this tutorial, you will achieve fully operational monitoring settings

How to view sql database error How to view sql database error Apr 10, 2025 pm 12:09 PM

The methods for viewing SQL database errors are: 1. View error messages directly; 2. Use SHOW ERRORS and SHOW WARNINGS commands; 3. Access the error log; 4. Use error codes to find the cause of the error; 5. Check the database connection and query syntax; 6. Use debugging tools.

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

See all articles