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

BAZA DANYCH MYSQL DROP

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bezpieczeństwo baz danych 101:Bezpieczeństwo w bazach danych typu open source

  2. MySQL JAK IN()?

  3. Uzyskać nowy identyfikator klucza podstawowego rekordu z zapytania wstawiającego MySQL?

  4. Jak podzielić dane wyjściowe z mysqldump na mniejsze pliki?

  5. Zaloguj wszystkie zapytania w mysql