GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo soltar una tabla en MySQL

Introducción

La DROP TABLE permite eliminar una tabla de una base de datos MySQL. Esta declaración elimina toda la estructura así como el contenido de la tabla.

El tutorial explora DROP comandos de declaración y muestra opciones para eliminar tablas de bases de datos MySQL .

Requisitos previos

  • Acceso a una ventana de terminal/línea de comando
  • Un sistema que ejecuta MySQL
  • Una base de datos de trabajo o de prueba
  • Un usuario de MySQL con los privilegios necesarios (se requieren privilegios DROP)

Sintaxis del comando DROP TABLE MySQL

Para eliminar una tabla en MySQL, use DROP TABLE declaración. La sintaxis básica del comando es la siguiente:

DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] [RESTRICT | CASCADE];

Analicemos la sintaxis:

  • La DROP TABLE declaración elimina una tabla y sus filas de forma permanente.
  • El [TEMPORARY] La opción garantiza que solo se eliminen las tablas temporales.
  • El [IF EXISTS] La opción descarta una tabla solo si existe.
  • El [RESTRICT] La opción estará disponible en futuras iteraciones de MySQL. Garantiza que una fila principal no se elimine si una fila secundaria hace referencia a un valor en dicha fila principal.
  • El [CASCADE] La opción garantiza que cuando elimina una fila, todas las filas de las tablas relacionadas que hacen referencia a esa fila también se eliminan. Esta opción estará disponible en futuras iteraciones de MySQL.

Utilice la instrucción DROP para eliminar una tabla

Para eliminar una tabla de forma permanente, ingrese la siguiente declaración dentro del shell de MySQL:

DROP TABLE table1;

Reemplazar table1 con el nombre de la tabla que desea eliminar. El resultado confirma que la tabla se ha eliminado.

Utilice DROP para eliminar solo las tablas existentes

MySQL genera un error si intenta eliminar una tabla que no existe. Esto puede ser un problema al incluir DROP declaración en un script predefinido.

Para verificar MySQL si existe una tabla primero:

DROP TABLE IF EXISTS table1;

El IF EXISTS opción genera una advertencia si table1 no existe.

El uso de esta opción evita que un script se atasque en un error. Muestre la advertencia ingresando:

SHOW WARNINGS;

Cómo DROP varias tablas

Para eliminar varias tablas con un solo DROP declaración:

DROP TABLE IF EXISTS table1, table2, table3;

El IF EXISTS la opción muestra una advertencia como table1 no existe.

Cómo DROP una tabla temporal

Las tablas temporales se utilizan para generar y almacenar un conjunto de datos poco antes de usarlo.

Por ejemplo, puede decidir almacenar los resultados de un SELECT sentencia con varias sentencias JOIN en una tabla temporal. A continuación, consulte la tabla temporal con facilidad.

Para eliminar tablas temporales sin correr el riesgo de perder tablas regulares, use el TEMPORARY opción:

DROP TEMPORARY TABLE IF EXISTS table4;

Cómo DROP tablas basadas en cadenas de caracteres

MySQL no tiene un comando incorporado para descartar tablas que coincidan con una cadena de caracteres. En su lugar, utilice un script para ayudar a realizar esta tarea.

1. Defina la base de datos y la cadena de caracteres que desea filtrar:

set @schema = 'tableselection';
set @string = 'table%';

Reemplazar tableselection con el nombre de su base de datos. Reemplazar table% con la cadena de caracteres que desea seleccionar y eliminar. Asegúrate de dejar el % comodín al final.

2. Cree una instrucción MySQL que seleccione todas las tablas que coincidan con la cadena de caracteres:

SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;

Este código selecciona todas las tablas con el table% caracteres especificados desde el information_schema mesa. Luego los concatena y ejecuta un DROP declaración contra el grupo.

3. Crea una selección a partir de los resultados de este código:

SELECT @droptool;

4. Muestra el contenido del comando:

PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

El código de la siguiente sección se presenta en su totalidad para facilitar su uso:

set @schema = 'tableselection';
set @string = 'table%';
 
SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;
 
SELECT @droptool;
 
PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Cent OS
  1. Cómo crear una base de datos MySQL en Workbench

  2. Cómo copiar tablas MySQL entre bases de datos

  3. Cómo reparar una tabla de base de datos Mysql dañada

  4. Eliminar tablas en MySQL

  5. Cómo instalar MySQL 5.6 en CentOS 6.x

Hoja de referencia de comandos de MySQL

Cómo usar disparadores de MySQL

Cómo instalar MySQL en AlmaLinux

Cómo instalar MySQL en CentOS 8

Cómo instalar MySQL 8.0 en CentOS 8 / RHEL 8

Cómo instalar MySQL 8 en CentOS 8