Někdy může být potřeba smazat databázi v MySQL. Můžete to snadno provést pomocí příkazu MySQL DROP DATABASE. Zde je návod, jak odstranit databázi v MySQL.
Jak smazat databázi v MySQL
Zde jsou kroky k DROP DATABASE v MySQL. K odstranění databáze použijeme dotaz MySQL DROP DATABASE.
Zde je syntaxe příkazu MySQL DROP DATABASE
DROP DATABASE [IF EXISTS] database_name;
Po úspěšném provedení vrátí MySQL počet smazaných tabulek. Ve výše uvedeném příkazu nahraďte název_databáze názvem databáze, kterou chcete odstranit.
Pokud se pokusíte odstranit databázi, která neexistuje, MySQL zobrazí chybu. Je tedy vhodné použít volitelný argument IF EXISTS
V MySQL je databáze známá také jako SCHEMA. Místo DROP DATABASE tedy můžete použít také DROP SCHEMA.
DROP SCHEMA [IF EXISTS] database_name;
Bonusové čtení:MySQL DROP TABLE
MySQL DROP DATABASE z příkazového řádku
Zde je příklad, jak odstranit databázi z příkazového řádku. Můžete je použít k odstranění databáze z Ubuntu Linux CLI a dalších linuxových systémů.
Přihlaste se do MySQL z příkazového řádku. K výpisu všech databází dostupných pro uživatele MySQL používáme příkaz SHOW DATABASES.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | fedingo | | mysql | | performance_schema | | sample | | test | | test1 | | test2 | | test3 | | test4 | +--------------------+ 11 rows in set (0.00 sec)
Dále použijeme příkaz MySQL DROP DATABASE k odstranění databáze v MySQL
mysql> drop database test4; Query OK, 0 rows affected (0.33 sec)
Výstup zobrazuje ‚0 ovlivněných řádků‘, protože v databázi test4 nejsou žádné tabulky.
Bonusové čtení:SLOUPEC DROP MySQL
Jak zrušit všechny databáze v MySQL
Buďte opatrní, než smažete více databází v MySQL. Nelze to vrátit zpět. Ve výchozím nastavení vám příkaz DROP DATABASE umožňuje odstranit pouze 1 databázi najednou. Pokud tedy chcete smazat více databází v MySQL, musíte pro každou databázi spustit samostatný příkaz DROP DATABASE.
Pokud však máte mnoho databázových tabulek a zdá se vám to zdlouhavé, pak je zde skript pro zrušení všech databází.
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>
Ve výše uvedeném skriptu nahraďte části vyznačené tučně svým uživatelským jménem a heslem mysql
Bonusové čtení:Jak získat záznamy z dneška v MySQL
Podívejme se, co každý řádek dělá
mysql -u<user> -p<password> -e "show databases"
se přihlásí do MySQL a vrátí seznam databází. Něco jako
Database information_schema my_db another_db api_platform mysql testdb joomla wordpress dev drupal
První řádek Databáze je pouze řetězec, nikoli název databáze. Seznam názvů databází začíná od řádku 2. Mezi nimi informační_schéma je systémová databáze a nesmí být smazána. Odebereme tedy tyto 2 řádky z výše uvedeného výstupu
| grep -v Database | grep -v mysql | grep -v information_schema
Nakonec použijeme gawk příkaz pro procházení filtrovaného seznamu názvů databází, generování a spouštění příkazů MySQL DROP DATABASE pro každý název databáze v seznamu.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!