Variáveis ​​de sessão MySQL

Resumo : neste tutorial, você aprenderá sobre variáveis ​​de sessão MySQL, descobrirá como listá-las todas, filtrar aquelas específicas e definir novos valores.

Introdução às variáveis ​​de sessão MySQL

As variáveis ​​de sessão do MySQL permitem que você personalize o comportamento de uma sessão específica, como definir o fuso horário, alterar o conjunto de caracteres ou ajustar o nível de detalhamento na saída da consulta.

As variáveis ​​de sessão são semelhantes às variáveis ​​globais , mas têm um escopo mais limitado. Embora as variáveis ​​globais afetem todo o servidor MySQL, as variáveis ​​de sessão são específicas para cada sessão do banco de dados .

Depois de definir uma variável de sessão, ela entra em vigor durante a conexão e é acessível somente pela sua sessão.

Exibindo todas as variáveis ​​de sessão

Para exibir todas as variáveis ​​de sessão, você usa a SHOW SESSION VARIABLESinstrução:

SHOW SESSION VARIABLES;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Este comando retorna uma saída que consiste em duas colunas Variable_namee Value. Aqui está a saída parcial:

Filtrando variáveis ​​de sessão

Para filtrar a variável de sessão, adicione a LIKEcláusula à SHOW SESSION VARIABLESinstrução da seguinte maneira:

SHOW SESSION VARIABLES LIKE 'variable_name';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por exemplo, a instrução a seguir retorna o valor atual da foreign_key_checksvariável:

SHOW SESSION VARIABLES LIKE 'foreign_key_checks';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| foreign_key_checks | ON    |
+--------------------+-------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A saída indica que a verificação da chave estrangeira está atualmente ATIVADA.

Se você não se lembra do nome da variável, você pode usar o caractere curinga %e _para localizar a variável.

Por exemplo, a instrução a seguir encontra a variável que começa com f:

 SHOW SESSION VARIABLES LIKE 'f%';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------------------------+----------------+
| Variable_name            | Value          |
+--------------------------+----------------+
| flush                    | OFF            |
| flush_time               | 0              |
| foreign_key_checks       | ON             |
| ft_boolean_syntax        | + -><()~*:""&| |
| ft_max_word_len          | 84             |
| ft_min_word_len          | 4              |
| ft_query_expansion_limit | 20             |
| ft_stopword_file         | (built-in)     |
+--------------------------+----------------+
8 rows in set (0.01 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ele retorna 8 variáveis ​​de sessão.

Outra forma de retornar o valor atual de uma variável é usar a SELECTinstrução:

SELECT @@variable_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por exemplo:

SELECT @@foreign_key_checks;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----------------------+
| @@foreign_key_checks |
+----------------------+
|                    1 |
+----------------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Configurando variáveis ​​de sessão

Para definir o valor de uma variável de sessão, você usa a SET SESSIONinstrução:

SET SESSION variable_name = value;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta instrução, você substitui o variable_namepelo nome da variável de sessão que deseja modificar e value pelo novo valor que deseja definir.

Por exemplo, a instrução a seguir altera o valor da variável de sessão foreign_key_checkspara 'OFF':

SET foreign_key_checks = 'OFF';
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Após alterar a variável, você pode verificar seu valor atual usando a SHOW SESSION VARIABLEinstrução:

SHOW SESSION VARIABLES LIKE 'foreign_key_checks';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| foreign_key_checks | OFF   |
+--------------------+-------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ao desconectar e reconectar ao servidor MySQL, você observará que a modificação na variável de sessão não entrou em vigor na nova sessão.

Resumo

  • Use a SHOW SESSION VARIABLESinstrução para mostrar todas as variáveis ​​de sessão.
  • Use SHOW SESSION VARIABLES LIKE variable_nameou SELECT @@variable_namepara exibir o valor atual do variable_name;
  • Use o SET SESSION variable_name = valuepara definir um novo valor para o variable_name.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *