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
VARIABLES
instruçã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_name
e Value
. Aqui está a saída parcial:
Filtrando variáveis de sessão
Para filtrar a variável de sessão, adicione a LIKE
cláusula à SHOW SESSION VARIABLES
instruçã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_checks
variá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 SELECT
instruçã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 SESSION
instrução:
SET SESSION variable_name = value;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta instrução, você substitui o variable_name
pelo 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_checks
para '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
VARIABLE
instruçã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 VARIABLES
instrução para mostrar todas as variáveis de sessão. - Use
SHOW SESSION VARIABLES LIKE variable_name
ouSELECT @@variable_name
para exibir o valor atual dovariable_name
; - Use o
SET SESSION variable_name = value
para definir um novo valor para ovariable_name
.