neste artigo, vamos aprender como criar uma tabela temporária e ainda cair nessas tabelas. As tabelas temporárias são tabelas específicas de sessão que são criadas dentro da sessão. Quando a sessão fecha, a mesa é deixada por si mesma. Uma tabela temporária existe apenas dentro de uma sessão; portanto, uma tabela criada por uma sessão não é visível para outra sessão. Por exemplo, o ID de sessão 501 criou uma tabela temporária, em seguida, o ID de sessão 502 não pode acessá-lo ou manipulá-lo., Duas sessões diferentes podem ter uma tabela temporária com o mesmo nome.
As tabelas temporárias são úteis quando você quer usar um pequeno subconjunto da tabela grande, e está sendo usado várias vezes dentro de um procedimento armazenado. Em tais casos, em vez de aplicar o filtro na tabela várias vezes, você pode salvar o subconjunto de tabelas grandes em uma tabela temporária e usá-lo dentro de um procedimento armazenado.,
fatos Importantes de tabelas temporárias:
- MySQL tabela Temporária tem uma dissociado relação com o esquema de banco de dados, o que significa que quando cair o banco de dados MySQL, não necessariamente de queda temporária de tabelas dentro do banco de dados
- O InnoDB mecanismo de banco de dados não suportar o comprimido, tabela temporária. Se você tivesse ativado o parâmetro Innodb_strit_mode, então ele retornará um erro., Se você desativou o InnoDB_strict_mode parâmetro, o MySQL irá emitir um aviso e criar uma tabela com um não-compactado formato de linha
- Para criar uma tabela temporária dentro do procedimento armazenado, o utilizador tem de criar a tabela temporária privilégio. Uma vez concedida, então para atualizar, excluir ou inserir os dados dentro dessa tabela temporária não requer quaisquer privilégios especiais. Há uma implicação deste comportamento. Suponha que o procedimento armazenado que usa uma tabela temporária e um usuário 1 que tinha desenvolvido o procedimento tem o privilégio Criar tabela temporária., Agora, o usuário 2 tenta executá-lo, mas ele não tem a permissão de criar uma tabela temporária. Em tais casos, MySQL usa os privilégios do Usuário 1 para criar a tabela temporária. Assim que o procedimento terminar com sucesso, os privilégios serão revertidos
- Você não pode criar uma tabela temporária com base na definição que a tabela já tem, e que reside no tablespace MySQL, um tablespace geral, ou no tablespace InnoDB., Para criar uma tabela temporária com base na definição de uma outra tabela, você deve usar a seguinte sintaxe
1Selecione a tabela temporária.., select * from
- ao contrário dos habituais instruções create table, Create temporary table não causar a confirmação implícita
- A tabela temporária pode ter o mesmo nome como o MySQL tabela periódica tem. Por exemplo, mesmo que uma tabela chamada empregado exista no banco de dados, você pode criar uma tabela temporária chamada empregado no banco de dados. Em tais casos, a tabela MySQL torna-se inacessível. Uma vez que a tabela temporária é largada, a tabela física pode ser acessada novamente.,/div>
1234567criar tabela temporária tblemployee(Column_1 tipo de dadosColumn_2 tipo de dadosColumn_3 tipo de dados…)
Como você pode ver, a sintaxe para criar a tabela temporária é a mesma que a sintaxe de criação de uma tabela MySQL., A única diferença é que você deve especificar a palavra-chave temporária entre criar e palavras-chave da tabela. Isto é muito importante porque se você se esquecer de adicionar a palavra-chave, ele cria uma tabela MySQL regular.
agora, vamos ver alguns exemplos da tabela temporária., Eu estou indo para demonstrar os seguintes casos de uso:
- Criar uma tabela temporária e inserir dados na tabela
- Criar uma tabela temporária com o uso da saída da instrução select
- Queda da tabela temp
- Criar uma tabela temporária usando a estrutura de uma outra tabela
Criar uma tabela temporária e inserir dados
Para criar uma nova tabela temporária chamada tblemployee no banco de dados MySQL, execute a consulta a seguir:
Execute a consulta a seguir para inserir os dados na tabela temporária.,
Uma vez que os dados são inseridos na tabela temp, execute a seguinte consulta para verificar se os dados foram inseridos.
1
|
Select * from tblemployee;
|
A seguir está o resultado:
Agora, para verificar que o escopo do tblemployee tabela, vamos executar a mesma consulta a partir da linha de comando do MySQL client., id=”22c41ae375″>
1
2
|
Usar sakila;
Select * from tblemployee;
|
Saída: como você pode ver, a consulta deu um erro:
Criar uma tabela temporária com o uso da saída da instrução select
vamos Supor que eu queira criar uma tabela temporária com o uso da saída da consulta select., Por exemplo, eu quero inserir os detalhes da tabela de filmes com sua categoria em uma tabela temp chamada temp_film_details. Para fazer isso, execute a seguinte consulta.
Uma vez que os detalhes são inseridos na tabela temp, execute a seguinte consulta para ver os dados da tabela temp., id=”2a48234df2″>
1
|
Drop tabela temporária tbl_film_details
|
Como eu mencionei em um banco de dados em uma tabela temporária e uma tabela InnoDB pode ter o mesmo nome, para certificar-se de que você especificar a palavra-chave temporary; caso contrário, se uma tabela com o mesmo será descartado
Resumo
neste artigo, nós aprendemos sobre o MySQL tabelas temporárias, e as características do mesmo., Também aprendemos como podemos criar e deixar cair uma tabela temporária com diferentes casos de uso., Criar e soltar temp tabelas
Saiba MySQL: Instruções Delete e Update
Saiba MySQL: conceitos Básicos do MySQL Procedimentos Armazenados
Saiba MySQL: As Noções básicas do MySQL Vistas
- Autor
- Posts Recentes
- Saiba MySQL: conceitos Básicos do MySQL Vista – 3 de fevereiro de 2021
- Saiba MySQL: conceitos Básicos do MySQL Procedimentos Armazenados – janeiro 8, 2021
- scripts T-SQL para atualizar as estatísticas com base na linha de modificação de 24 de dezembro de 2020
Leave a Reply