从MySQL查询C探索新功能(c 从mysql 查询)

在最新的MySQL版本8.0中,引入了一些新的查询功能,这些新功能大大增加了MySQL的查询灵活性和功能。

一、COMMON TABLE EXPRESSIONS(公共表达式)

Common Table Expressions是SQL语言中一种让用户创建临时表的工具,可以在查询中使用这些临时表。在MySQL 8.0以前,此功能在MySQL中并不存在。此外,Common Table Expressions不支持在存储过程中使用。

以下是一个简单的例子展示Common Table Expressions的用法:

WITH

cte AS (SELECT employeeNumber, firstName, lastName FROM employees),

cte2 AS (SELECT officeCode, city FROM offices)

SELECT customerName, cte.firstName, cte.lastName, cte2.city

FROM cte, cte2

INNER JOIN customers ON cte.employeeNumber = customers.salesRepEmployeeNumber

WHERE cte2.officeCode = customers.officeCode;

二、WINDOW FUNCTIONS(窗口函数)

MySQL 8.0支持窗口函数,窗口函数是一种特殊的函数类型,这些函数仅在计算特定给定行范围的数据时使用。使用窗口函数可以高效地减少查询时间。

以下是一个简单的例子展示如何使用窗口函数:

SELECT lastName, firstName, salary,

SUM(salary) OVER(PARTITION BY officeCode) as officeSalaryTotal

FROM employees;

三、REGULAR EXPRESSIONS(正则表达式)

MySQL已经支持正则表达式并支持在查询中使用它。使用正则表达式可以更轻松地搜索和过滤数据。

以下是一个简单的例子展示如何使用正则表达式:

SELECT *

FROM employees

WHERE lastName REGEXP ‘^Doe’;

四、JSON函数

MySQL 8.0一直支持JSON数据类型。在MySQL 8.0版本中,支持对JSON进行特殊查询,例如,可以使用JSON_EXTRACT函数提取JSON中的特定对象和键值。

以下是一个简单的例子展示如何使用JSON_EXTRACT函数提取JSON中的特定对象和键值:

SELECT JSON_EXTRACT(json_data, ‘$.name’) AS name

FROM users;

五、新的助手表

MySQL 8.0加入了新的系统表,这些表的用途是辅助查询优化器进行查询的优化。

以下是一些新的助手表的列表:

• optimizer_trace

• optimizer_trace_info

• optimizer_trace_events

• optimiser_trace_enable

• optimiser_trace_enable_session

• optimiser_trace_max_mem_size

• optimiser_trace_offset

MySQL 8.0带来了许多强大的新功能,包括Common Table Expressions,Window Function,正则表达式和JSON函数等。这些新功能可以帮助用户更轻松地完成复杂的查询和操作。


数据运维技术 » 从MySQL查询C探索新功能(c 从mysql 查询)