sql >> Base de Datos >  >> RDS >> Mysql

MySQL:¿cómo eliminar la tabla si existe en la base de datos?

En esta publicación SQL Server – 2016 – Cláusula “Drop if Exists” de mejora de T-SQL, hemos visto la nueva característica introducida en la versión 2016 de SQL Server. Uno de mis amigos recientemente me preguntó cómo soltar tabla si existe en la base de datos MySQL? No fue sorprendente ver que no muchas personas conocen la existencia de esta función. MySQL ya tiene esta función desde hace un tiempo y si usted es DBA de MySQL, puede que le resulte interesante que SQL Server acaba de presentar esta función.

Veamos este ejemplo en acción ahora. Primero, crearemos una tabla de muestra.

CREATE TABLE test(id INT,name VARCHAR(100));

Si tenemos que soltar la tabla anterior, podemos ejecutar el siguiente script y soltarlo.

DROP TABLE IF EXISTS test;

La secuencia de comandos anterior descarta la tabla llamada prueba si existe; de ​​lo contrario, mostrará una advertencia y no un error. Esto es muy importante para comprender que, dado que no muestra un error, podemos solucionar fácilmente la advertencia en nuestro código. Esto es útil si no está seguro de la existencia de la tabla de antemano.

No solo las tablas, sino que MySQL también tiene una función similar disponible para los procedimientos almacenados. Veamos un ejemplo rápido de lo mismo.

Aquí hay un script que puede usar para crear procedimientos almacenados.

CREATE PROCEDURE test_proc
AS
BEGIN
SELECT 1 AS number;
END;

Después de crear el procedimiento anterior, puede usar el siguiente script para soltarlo.

DROP PROCEDURE IF EXISTS test_proc;

Recuerde, al igual que la tabla, eliminará el procedimiento almacenado si existe uno, de lo contrario, solo devolverá una advertencia. Es realmente interesante ver que MySQL ya tiene esta función por un tiempo, mientras que SQL Server acaba de presentar esta función este año.