Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL – jak usunąć tabelę, jeśli istnieje w bazie danych?

W tym poście SQL Server – 2016 – T-SQL Enhancement „Drop if Exists” widzieliśmy nową funkcję wprowadzoną w SQL Server w wersji 2016. Jeden z moich znajomych zadał mi pytanie, jak upuścić tabelę, jeśli istnieje w bazie danych MySQL? Nic dziwnego, że niewiele osób wie o istnieniu tej funkcji. MySQL już od jakiegoś czasu ma tę funkcję, a jeśli jesteś DBA MySQL, może być interesujące, że SQL Server właśnie wprowadził tę funkcję.

Zobaczmy teraz ten przykład w akcji. Najpierw utworzymy przykładową tabelę.

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

Jeśli musimy upuścić powyższą tabelę, możemy wykonać następujący skrypt i upuścić go.

DROP TABLE IF EXISTS test;

Powyższy skrypt usuwa tabelę o nazwie test, jeśli istnieje, w przeciwnym razie wyświetli ostrzeżenie, a nie błąd. Jest to bardzo ważne, aby zrozumieć, że ponieważ nie wyświetla błędu, możemy łatwo obejść ostrzeżenie w naszym kodzie. Jest to pomocne, jeśli nie jesteś z góry pewien, czy istnieje tabela.

Nie tylko tabele, ale MySQL ma podobną funkcję dostępną również dla procedur składowanych. Zobaczmy krótki przykład tego samego.

Oto skrypt, którego można użyć do tworzenia procedur składowanych.

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

Po utworzeniu powyższej procedury możesz użyć następującego skryptu, aby ją usunąć.

DROP PROCEDURE IF EXISTS test_proc;

Pamiętaj, podobnie jak table, usunie procedurę składowaną, jeśli taka istnieje, w przeciwnym razie po prostu zwróci ostrzeżenie. To naprawdę interesujące, że MySQL już od jakiegoś czasu ma tę funkcję, podczas gdy SQL Server właśnie ją wprowadził w tym roku.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak monitorować serwer ProxySQL za pomocą Prometheus i ClusterControl

  2. Tworzenie i używanie procedur składowanych MySQL — samouczek

  3. Najszybszy sposób na znalezienie odległości między dwoma punktami szerokości/długości

  4. MySQL Z klauzulą

  5. Uwaga:konwersja tablicy na ciąg znaków w