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

TABELA UPUSZCZANIA MySQL

Czasami może być konieczne usunięcie tabeli z bazy danych w MySQL. Możesz to łatwo zrobić za pomocą polecenia MySQL DROP TABLE. Oto jak usunąć tabelę w MySQL.

Jak usunąć tabelę w MySQL

Oto kroki, aby usunąć tabelę w MySQL. Użyjemy instrukcji MySQL DROP TABLE, aby usunąć istniejące tabele w bazie danych.

Oto składnia instrukcji DROP TABLE:

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

Instrukcja DROP TABLE może być użyta do usunięcia jednej lub więcej tabel bazy danych.

Słowo kluczowe TEMPORARY usunie tylko tabele tymczasowe i zapobiegnie usuwaniu tabel innych niż tymczasowe.

Słowo kluczowe IF EXISTS usunie tabelę tylko wtedy, gdy istnieje.

Pamiętaj, że aby móc usunąć tabelę MySQL, musisz mieć uprawnienia DROP TABLE.

Bonus Przeczytaj:Jak uzyskać zapis z dzisiaj w MySQL

MySQL DROP TABLE, aby usunąć pojedynczą tabelę

Załóżmy, że masz poniższą tabelę.

mysql> create table orders(order_date date, sale int);

Oto instrukcja MySQL DROP TABLE, aby usunąć tę tabelę.

mysql> DROP TABLE orders;

Jeśli spróbujesz usunąć nieistniejącą tabelę, otrzymasz ostrzeżenie:

mysql> drop table orders;
ERROR 1051 (42S02): Unknown table 'sample.orders'

Przeczytaj bonus:Jak zdobyć pierwszy rekord w każdej grupie w MySQL

MySQL Upuść wiele tabel

Jeśli masz wiele tabel table1, table2, table3 w tej samej bazie danych, oto instrukcja MySQL DROP TABLE, aby je usunąć

mysql> DROP TABLE table1, table2, table3;

Przeczytaj bonus:Jak stworzyć widok MySQL

Wzorzec dopasowania MySQL DROP TABLE

Jeśli masz wiele tabel bazy danych i chcesz usunąć tabele pasujące do określonego wzorca, takiego jak „zamówienie”, nie możesz bezpośrednio użyć do tego instrukcji MySQL DROP TABLE. Na przykład następujące polecenie NIE BĘDZIE DZIAŁAŁO.

mysql> DROP TABLE like 'order%';

Więc będziemy musieli obejść się. Załóżmy, że w swojej bazie danych masz tabele order1, order2, order3.

mysql> create table orders1(order_date date, sale int);

mysql> create table orders2(order_date date, sale int);

mysql> create table orders3(order_date date, sale int);

Najpierw tworzymy dynamiczny ciąg zapytania SQL z nazwami tabel

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

Powyższe zapytanie instruuje MySQL, aby pobrać nazwy tabel pasujące do wymaganego wzorca @pattern(np. order%) z tabeli information_schema, która zawiera listę wszystkich nazw tabel w Twojej bazie danych @schema (np. przykład) i połączyć je z 'DROP TABLE' . Używamy GROUP_CONCAT do tworzenia listy oddzielonych przecinkami nazw tabel.

Przechowujemy to zapytanie w zmiennej @droplike.

Następnie ustawiamy wartości na zmienne @pattern i @schema i uruchamiamy przygotowane instrukcje utworzone ze zmiennej @droplike.

mysql> SET @schema = 'sample';

mysql> SET @pattern = 'order%';

mysql> SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
     INTO @droplike
     FROM information_schema.tables
     WHERE @schema = database()
     AND table_name LIKE @pattern;

mysql> select @droplike;
+-------------------------------------------------------------+
| @droplike                                                   |
+-------------------------------------------------------------+
| DROP TABLE sample.orders1,sample.orders2,sample.orders3;    |
+-------------------------------------------------------------+

PREPARE stmt FROM @droplike;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

MySQL DROP Wszystkie tabele

Podobnie możesz usunąć wszystkie tabele z bazy danych. Po prostu usuń ORAZ nazwa_tabeli LIKE @wzór z instrukcji select w @droplike powyżej

SET @schema = 'sample';
SELECT CONCAT('DROP TABLE IF EXISTS',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
     INTO @droplike
     FROM information_schema.tables
     WHERE @schema = database();

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java:Wstaw wiele wierszy do MySQL za pomocą PreparedStatement

  2. Przykład wiosennego rozruchu CRUD z MySQL

  3. Jak uniknąć dzielenia przez zero w MySQL

  4. JSON_TYPE() – Uzyskaj typ wartości JSON w MySQL

  5. Jak korzystać z mysql JOIN bez warunku ON?