sql >> Database teknologi >  >> RDS >> Mysql

MySQL – Hvordan dropper man tabel, hvis den findes i databasen?

I dette indlæg SQL Server – 2016 – T-SQL Enhancement “Drop if Exists”-klausul har vi set den nye funktion introduceret i SQL Server version 2016. En af mine venner for nylig stillede mig spørgsmål om, hvordan man slipper tabel, hvis den findes i MySQL-databasen? Det var ikke overraskende at se, at ikke mange mennesker kender til eksistensen af ​​denne funktion. MySQL har allerede denne funktion i et stykke tid, og hvis du er MySQL DBA, kan du finde det interessant, at SQL Server lige har introduceret denne funktion.

Lad os se dette eksempel i aktion nu. Først vil vi oprette en eksempeltabel.

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

Hvis vi skal slippe ovenover tabellen, kan vi udføre følgende script og slippe det.

DROP TABLE IF EXISTS test;

Ovenstående script fjerner tabellen med navnet test, hvis den findes, ellers vil den vise en advarsel og ikke en fejl. Dette er meget vigtigt for at forstå, at da det ikke viser fejl, kan vi nemt omgå advarslen i vores kode. Dette er nyttigt, hvis du ikke er sikker på, at bordet eksisterer på forhånd.

Ikke kun tabeller, men MySQL har også en lignende funktion tilgængelig for lagrede procedurer. Lad os se et hurtigt eksempel på det samme.

Her er et script, som du kan bruge til at oprette lagrede procedurer.

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

Når du har oprettet ovenstående procedure, kan du bruge følgende script til at slippe det.

DROP PROCEDURE IF EXISTS test_proc;

Husk, ligesom tabel, vil den droppe den lagrede procedure, hvis der findes en, ellers vil den bare returnere en advarsel. Det er virkelig interessant at se MySQL allerede have denne funktion i et stykke tid, hvorimod SQL Server netop introducerede denne funktion i dette år.


  1. PostgreSQL er verdens bedste database

  2. Opret pivotvisning i SQL fra en SQL-tabel

  3. Se SQL Server Agent-jobhistorik med SSMS

  4. Sådan får du året fra en Datetime-kolonne i MySQL