sql >> Databasteknik >  >> RDS >> Mysql

MySQL – Hur släpper man tabell om det finns i databasen?

I det här inlägget SQL Server – 2016 – T-SQL Enhancement “Drop if Exists”-klausul har vi sett den nya funktionen introducerad i SQL Server version 2016. En av mina vänner nyligen ställde mig frågan att hur man släpper tabell om det finns i MySQL-databas? Det var inte förvånande att se att inte många känner till existensen av denna funktion. MySQL har redan den här funktionen ett tag och om du är MySQL DBA kan du tycka att det är intressant att SQL Server precis introducerade den här funktionen.

Låt oss se detta exempel i aktion nu. Först skapar vi en exempeltabell.

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

Om vi ​​måste släppa tabellen ovanför kan vi köra följande skript och släppa det.

DROP TABLE IF EXISTS test;

Ovanstående skript tar bort tabellen med namnet test om det finns, annars kommer det att visa en varning och inte ett fel. Detta är mycket viktigt för att förstå att eftersom det inte visar fel, kan vi enkelt kringgå varningen i vår kod. Detta är användbart om du inte är säker på att tabellen finns i förväg.

Inte bara tabeller, utan MySQL har liknande funktioner tillgängliga för lagrade procedurer också. Låt oss se ett snabbt exempel på detsamma.

Här är ett skript som du kan använda för att skapa lagrade procedurer.

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

När du har skapat proceduren ovan kan du använda följande skript för att släppa det.

DROP PROCEDURE IF EXISTS test_proc;

Kom ihåg, precis som tabellen kommer den att ta bort den lagrade proceduren om det finns en, annars kommer den bara att returnera en varning. Det är verkligen intressant att se att MySQL redan har den här funktionen ett tag, medan SQL Server precis introducerade den här funktionen i år.


  1. Ny användare och LDAP-hantering i ClusterControl 1.8.2

  2. Förmildrande indexfragmentering

  3. Sätt tomma strängar ('') till NULL i hela databasen

  4. Hur man ändrar max_allowed_packet size