MySQL create oder alter table

Ich bin mit MySQL 5.1 für meine Datenbank und ich bin das senden der Befehle über ein Java-Programm (JBDC).
Gibt es eine MySQL Befehl zum erstellen oder ändern einer Tabelle?
Sagen wir mal ich habe folgende Tabelle:

+----------+----------+
| column_a | column_b |
+----------+----------+
| value_a  | value_b  |
+----------+----------+

Nun möchte ich einen Befehl verwenden, würde das hinzufügen einer Spalte "column_c" wenn es gar nicht gibt.
Das Ergebnis wäre:

+----------+----------+----------+
| column_a | column_b | column_c |
+----------+----------+----------+
| value_a  | value_b  |          |
+----------+----------+----------+

Wenn die Tabelle nicht existiert hätte, es würde ein neue Tabelle mit den angegebenen Spalten:

+----------+----------+----------+
| column_a | column_b | column_c |
+----------+----------+----------+

Und schließlich, wenn die Tabelle Spalten, die nicht im Befehl angegeben, es würde verlassen Sie unberührt.

  • Es gibt keine ALTER TABLE IF soweit ich weiß, sollten Sie vielleicht einen Blick auf tools wie liquibase" oder "flyway"
  • Ich glaube nicht, dass die Programme benutzt, die nötig wäre, nur für einen einzigen Befehl, @RC.. gibt es keine andere Möglichkeit?
  • inspizieren Sie die Datenbank-Metadaten und erstellen Sie die Spalte, wenn nötig, möglich ist
  • Es sieht aus wie das ist der einzige Weg, @RC.. Werde es versuchen.
InformationsquelleAutor Limeth | 2014-01-05
Schreibe einen Kommentar