En este artículo, vamos a aprender cómo crear una tabla temporal y posterior caída de estas tablas. Las tablas temporales son tablas específicas de la sesión que se crean dentro de la sesión. Cuando se cierra la sesión, la tabla se elimina por sí misma. Una tabla temporal existe solo dentro de una sesión; por lo tanto, una tabla creada por una sesión no es visible para otra sesión. Por ejemplo, el ID de sesión 501 ha creado una tabla temporal y el ID de sesión 502 no puede acceder a ella ni manipularla., Dos sesiones diferentes pueden tener una tabla temporal con el mismo nombre.
Las tablas temporales son útiles cuando se desea utilizar un subconjunto pequeño de la tabla grande, y se está utilizando varias veces dentro de un procedimiento almacenado. En tales casos, en lugar de aplicar el filtro en la tabla varias veces, puede guardar el subconjunto de tablas grandes en una tabla temporal y usarlo dentro de un procedimiento almacenado.,
datos importantes de las tablas temporales:
- La tabla temporal MySQL tiene una relación desacoplada con el esquema de la base de datos, lo que significa que cuando soltamos la base de datos MySQL, no necesariamente suelta las tablas temporales dentro de la base de datos
- El motor de base de datos InnoDB no soporta la tabla temporal comprimida. Si ha habilitado el parámetro InnoDB_strict_mode, entonces devolverá un error., Si deshabilitó el parámetro InnoDB_strict_mode, MySQL emitirá una advertencia y creará una tabla con un formato de fila no comprimido
- para crear una tabla temporal dentro del procedimiento almacenado, el Usuario debe tener el privilegio Crear tabla temporal. Una vez que se concede, para actualizar, eliminar o insertar los datos dentro de esa tabla temporal no se requieren privilegios especiales. Hay una implicación de este comportamiento. Supongamos que el procedimiento almacenado que utiliza una tabla temporal y un usuario 1 que ha desarrollado el procedimiento tiene el privilegio Crear tabla temporal., Ahora, el usuario 2 intenta ejecutarlo, pero no tiene el permiso Crear tabla temporal. En tales casos, MySQL utiliza los privilegios del usuario 1 para crear la tabla temporal. Una vez que el procedimiento se complete con éxito, los privilegios se revertirán
- no puede crear una tabla temporal basada en la definición que la tabla ya tiene, y reside en el espacio de tabla MySQL, un espacio de tabla general o un espacio de tabla InnoDB., Para crear una tabla temporal basado en la definición de otra tabla, usted debe utilizar la siguiente sintaxis
1Seleccionar tabla temporal.., select * from
1
2
3
4
5
6
7
|
crear una tabla temporal tblemployee
(
Column_1 tipo de datos,
Column_2 tipo de datos,
Column_3 tipo de datos,
…
)
|
Como puede ver, la sintaxis para crear la tabla temporal es la misma que la sintaxis de creación de una tabla MySQL., La única diferencia es que debe especificar la palabra clave temporal entre las palabras clave create Y table. Esto es muy importante porque si se olvida de agregar la palabra clave, se crea una tabla MySQL regular.
Ahora, vamos a caminar a través de algunos ejemplos de la tabla temporal., Voy a demostrar los siguientes casos de uso:
- Crear una tabla temporal e insertar datos en la tabla
- Crear una tabla temporal utilizando la salida de la instrucción select
- soltar la tabla temporal
- Crear una tabla temporal utilizando la estructura de otra tabla
crear una tabla temporal e insertar datos
para crear una nueva tabla temporal llamada tblemployee en la base de datos MySQL, ejecute la siguiente consulta:
ejecute la siguiente consulta para insertar los datos en la tabla temp.,
una vez insertados los datos en la tabla temp, ejecute la siguiente consulta para verificar que los datos se han insertado.
1
|
Select * from tblemployee;
|
el siguiente es El resultado:
Ahora, para comprobar el alcance de la tblemployee tabla, corramos la misma consulta de la base de la línea de comandos de cliente., id=»22c41ae375″>
1
2
|
Uso sakila;
Select * from tblemployee;
|
Salida: como se puede ver, la consulta ha dado un error:
Crear una tabla temporal utilizando la salida de la instrucción select
Supongamos que quiero crear una tabla temporal utilizando la salida de la consulta de selección., Por ejemplo, quiero insertar los detalles de la tabla films con su categoría en una tabla temporal llamada temp_film_details. Para ello, ejecute la siguiente consulta.
una vez insertados los detalles en la tabla temp, ejecute la siguiente consulta para ver los datos de la tabla temp., id=»2a48234df2″>
1
|
como he mencionado, en una base de datos una tabla temporal y una tabla InnoDB pueden tener el mismo nombre, así que asegúrese de especificar la palabra clave temporal; de lo contrario, si
resumen
en este artículo, hemos aprendido sobre las tablas temporales de MySQL y las características de las mismas., También aprendimos cómo podríamos crear y eliminar una tabla temporal con diferentes casos de uso., Crear y eliminar tablas temp
Aprender MySQL: Instrucciones Delete y Update
Aprender MySQL: Los Fundamentos de los Procedimientos Almacenados de MySQL
Aprender MySQL: Los conceptos Básicos de MySQL Vistas
- Autor
- mensajes Recientes
- Aprender MySQL: conceptos Básicos de MySQL Vistas al 3 de febrero de 2021
- Aprender MySQL: conceptos Básicos de MySQL Procedimientos Almacenados – enero 8, 2021
- T-SQL scripts para actualizar las estadísticas basadas en la fila de modificación – 24 de diciembre de 2020
Leave a Reply