sql >> Databasteknik >  >> RDS >> Mysql

MySQL DROP DATABAS

Ibland kan du behöva ta bort databas i MySQL. Du kan enkelt göra detta med kommandot MySQL DROP DATABASE. Så här tar du bort databas i MySQL.

Hur man tar bort databas i MySQL

Här är stegen för att SLAPPA DATABAS i MySQL. Vi kommer att använda MySQL DROP DATABASE-frågan för att radera databasen.

Här är syntaxen för MySQL DROP DATABASE-kommandot

DROP DATABASE [IF EXISTS] database_name;

Vid framgångsrik exekvering kommer MySQL att returnera antalet raderade tabeller. I kommandot ovan, ersätt database_name med databasnamnet som du vill ta bort.

Om du försöker ta bort en databas som inte finns kommer MySQL att visa ett fel. Så det är tillrådligt att använda det valfria argumentet OM FINNS

I MySQL är databasen även känd som SCHEMA. Så du kan också använda DROP SCHEMA istället för DROP DATABASE.

DROP SCHEMA [IF EXISTS] database_name;

Bonus Läs:MySQL DROP TABLE

MySQL DROP DATABASE från kommandoraden

Här är ett exempel på hur man tar bort databas från kommandoraden. Du kan använda dem för att radera databaser från Ubuntu Linux CLI och andra linuxsystem.

Logga in på MySQL från kommandoraden. Vi använder kommandot SHOW DATABASES för att lista alla databaser som är tillgängliga för MySQL-användare.

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ärefter använder vi MySQL DROP DATABASE-kommandot för att ta bort databas i MySQL

mysql> drop database test4;
Query OK, 0 rows affected (0.33 sec)

Utdata visar "0 rader påverkade" eftersom det inte finns några tabeller i test4-databasen.

Bonus Läs:MySQL DROP COLUMN

Hur man släpper alla databaser i MySQL

Var försiktig innan du tar bort flera databaser i MySQL. Det går inte att vända. Som standard låter kommandot DROP DATABASE dig ta bort endast en databas åt gången. Så om du vill ta bort flera databaser i MySQL måste du köra ett separat kommando DROP DATABASE för varje databas.

Men om du har många databastabeller och tycker att det är tråkigt, så här är ett skript för att släppa alla databaser.

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>

I skriptet ovan, ersätt delarna i fetstil med ditt mysql-användarnamn och lösenord

Bonus Läs:Hur man får poster från idag i MySQL

Låt oss titta på vad varje rad gör

mysql -u<user> -p<password> -e "show databases"

kommer att logga in på MySQL och returnera en lista med databaser. Något liknande

Database
information_schema
my_db
another_db
api_platform
mysql
testdb
joomla
wordpress
dev
drupal

Första raden Databas är bara en sträng och inte ett databasnamn. Listan över databasnamn börjar från rad 2. Bland dem informationsschema är en systemdatabas och får inte raderas. Så vi tar bort dessa två rader från ovanstående utdata

| grep -v Database | grep -v mysql | grep -v information_schema

Slutligen använder vi gawk kommando för att gå igenom den filtrerade listan med databasnamn, generera och köra MySQL DROP DATABASE-kommandon för varje databasnamn i listan.

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Hur returnerar man resultatet av en SELECT inuti en funktion i PostgreSQL?

  2. Beräkna decil från frekvens i MySQL

  3. Ta bort dubbletter av rader i MySQL (ignorerar primärnyckel)

  4. implementera LIKE-fråga i PDO