Fritz Thomas .com

Alle Tabellen löschen

Will man alle Tabellen einer Datenbank löschen so gibt es dafür keine native SQL Anweisung wie TRUNCATE DATABASE oder so. Man kann sich mit einem one-liner behelfen:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]


Mittels mysqldump wird die Datenbank ohne Daten und mit der Option ‘–add-drop-table’ gedumped. Mit grep werden dann nur diese Anweisungen wieder an den mysql Client weitergeleitet der dann wiederum die alle Tabellen aus der Datenbank dropt.

Nur bestimmte Tabellen einer Datenbank löschen

Oft hat man auch das Problem das man nur bestimmte Tabellen aus einer Datenbank löschen möchte. Zum Beispiel wenn man mehrere Applikationen installiert und eine davon jetzt löschen möchte. Wichtig ist das die Tabellen der Applikation einen Tabellen Prefix haben. Bei Wordpress wäre das zum Beispiel ‘wp_’ als Prefix. Um nur diese aus der Datenbank zu löschen muss die obere Anweisung nur mit einem weiteren grep erweitert werden:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | grep 'wp_.*' | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Es empfiehlt sich das Ergebnis zuerst mal zu kontrollieren und sich die Drop Statements nur ausgeben zu lassen - also den letzten Teil (mysql -u[USERNAME]…..) einfach weglassen.

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • bodytext
  • del.icio.us
  • Netvouz
  • description
  • ThisNext
  • MisterWong
  • Wists
  • Furl
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Simpy
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • YahooMyWeb

Das ist der erste Teil meiner Tutorial oder How-To Serie für das Zend Framework.
Dieser erste Artikel wird etwas früher als mit der Implementierung des bootstrapping Prozesses oder dem Erstellen neuer Controller, Models oder Views beginnen. Ich werde hier als erstes grundlegende Gedanken und Überlegungen in den Raum stellen, die man sich vor der Implementierung stellen sollte - wie zum Beispiel die Wahl der richtigen Verzeichnisstruktur und die Ausarbeitung eigener Konventionen.

Wozu die ganze Theorie?

Die Wahl der Verzeichnisstruktur oder das überlegen und / oder aufschreiben eigener Konventionen mag im ersten Moment vielleicht etwas nebensächlich erscheinen und auch so behandelt werden, doch will man eine Applikation von vorn herein so modular wie möglich aufbauen um später nicht mehr Arbeit zu haben um neue Features (Module, Plugins, Controller, I18N, Caching, Suche, etc..) zu implementieren sollte man sich etwas mehr Zeit nehmen um über die jetzigen und auch die zukünftigen Anforderungen an die Applikation, nachzudenken. Die Wichtigkeit dessen steigt, um so mehr Entwickler an einem Projekt beteiligt sind, da darauf um so mehr zu achten ist, dass jeder Entwickler weiß welche Code Conventions einzuhalten sind, und vor allem WIE (und nicht ob!!!) dokumentiert werden muss.

Lese den ganzen Eintrag »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • bodytext
  • del.icio.us
  • Netvouz
  • description
  • ThisNext
  • MisterWong
  • Wists
  • Furl
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Simpy
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • YahooMyWeb