Czasami może być konieczne usunięcie bazy danych w MySQL. Możesz to łatwo zrobić za pomocą polecenia MySQL DROP DATABASE. Oto jak usunąć bazę danych w MySQL.
Jak usunąć bazę danych w MySQL
Oto kroki, aby DROP DATABASE w MySQL. Użyjemy zapytania MySQL DROP DATABASE, aby usunąć bazę danych.
Oto składnia polecenia MySQL DROP DATABASE
DROP DATABASE [IF EXISTS] database_name;
Po pomyślnym wykonaniu MySQL zwróci liczbę usuniętych tabel. W powyższym poleceniu zastąp database_name nazwą bazy danych, którą chcesz usunąć.
Jeśli spróbujesz usunąć bazę danych, która nie istnieje, MySQL wyświetli błąd. Dlatego zaleca się użycie opcjonalnego argumentu JEŻELI ISTNIEJE
W MySQL baza danych znana jest również jako SCHEMA. Możesz więc użyć DROP SCHEMA zamiast DROP DATABASE.
DROP SCHEMA [IF EXISTS] database_name;
Przeczytaj bonus:MySQL DROP TABLE
MySQL DROP DATABASE z wiersza poleceń
Oto przykład, jak usunąć bazę danych z wiersza poleceń. Możesz ich użyć do usunięcia bazy danych z Ubuntu Linux CLI i innych systemów Linux.
Zaloguj się do MySQL z wiersza poleceń. Używamy polecenia SHOW DATABASES, aby wyświetlić listę wszystkich baz danych dostępnych dla użytkownika MySQL.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | fedingo | | mysql | | performance_schema | | sample | | test | | test1 | | test2 | | test3 | | test4 | +--------------------+ 11 rows in set (0.00 sec)
Następnie używamy polecenia MySQL DROP DATABASE, aby usunąć bazę danych w MySQL
mysql> drop database test4; Query OK, 0 rows affected (0.33 sec)
Wynik pokazuje „0 wierszy, których dotyczy problem”, ponieważ w bazie danych test4 nie ma tabel.
Przeczytaj bonus:KOLUMNA UPUSZCZENIA MySQL
Jak usunąć wszystkie bazy danych w MySQL
Zachowaj ostrożność, zanim usuniesz wiele baz danych w MySQL. Nie można tego cofnąć. Domyślnie polecenie DROP DATABASE umożliwia jednoczesne usunięcie tylko 1 bazy danych. Więc jeśli chcesz usunąć wiele baz danych w MySQL, musisz uruchomić osobne polecenie DROP DATABASE dla każdej bazy danych.
Jednakże, jeśli masz wiele tabel baz danych i uważasz to za nudne, oto skrypt, który usuwa wszystkie bazy danych.
mysql -u<user> -p<password> -e "show databases" | grep -v Database | grep -v mysql | grep -v information_schema | gawk '{print "SET FOREIGN_KEY_CHECKS = 0;drop database " $1 ";select sleep(0.1);"}' | mysql -u<user> -p<password>
W powyższym skrypcie zastąp pogrubione części swoją nazwą użytkownika i hasłem mysql
Przeczytaj bonus:Jak uzyskać dzisiejsze rekordy w MySQL
Przyjrzyjmy się, co robi każda linia
mysql -u<user> -p<password> -e "show databases"
zaloguje się do MySQL i zwróci listę baz danych. Coś jak
Database information_schema my_db another_db api_platform mysql testdb joomla wordpress dev drupal
Pierwsza linia Baza danych to tylko ciąg, a nie nazwa bazy danych. Lista nazw baz danych zaczyna się od wiersza 2. Wśród nich information_schema jest bazą danych systemu i nie wolno jej usuwać. Więc usuwamy te 2 linie z powyższego wyniku
| grep -v Database | grep -v mysql | grep -v information_schema
Na koniec używamy gawk polecenie, aby przejść przez przefiltrowaną listę nazw baz danych, wygenerować i uruchomić polecenia MySQL DROP DATABASE dla każdej nazwy bazy danych na liście.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!