6.1 Struktur der Datenbank ändern
Und schließlich besteht der köstlichste Teil der Arbeit mit Datenbanken darin, die Datenbank zu ändern. Wenn Sie der Meinung sind, dass dies etwas ganz Einfaches ist, dann ist hier eine Anekdote für Sie zu diesem Thema:
The service station master, wiping his hands, hands over the car to the client and chats along the way:
- But who do you work for?
- I am a cardiac surgeon, I perform heart operations.
- And they pay a lot?
- $20,000 per operation.
- Nothing for myself ... But we, in fact, are doing the same thing, sorting out the engines, and they pay me only $ 300 ...
- Do you want to earn as much as I do?
- Want...
The surgeon starts the engine in the car and turns to the master:
- Move over!
Genauso verhält es sich mit Datenbanken. Sie möchten einen Teil der Daten aus der separaten Tabelle herausnehmen? Okay, du brauchst:
- Erstellen Sie eine neue Tabelle
- Kopieren Sie die Daten in diese neue Tabelle
- Spalten aus der alten Tabelle entfernen
- Ändern Sie alle SQL-Abfragen, die auf die alte Tabelle verwiesen haben
- Fügen Sie SQL-Abfragen hinzu, die auf die neue Tabelle zugreifen
- Ändern Sie den Java-Code, der auf die alte Weise mit Tabellen arbeitete
- Ändern Sie die Sicherungs- und Wiederherstellungsskripte, da die Tabellenstrukturen jetzt nicht übereinstimmen
- Wenn Sie Testdaten für Entwickler haben, müssen Sie diese ebenfalls ändern
Obwohl es in Wirklichkeit noch schlimmer ist:
Neue Datenbankstruktur:
- Zuerst ändern Sie die Tabellenstruktur auf dem Computer des Entwicklers
- Dann sind Sie überzeugt, dass eine solche Struktur wirklich besser ist
- Genehmigen Sie die neue Datenbankstruktur
Migrationsskripte:
- Sie schreiben Skripte, die Tabellendaten usw. in einer echten Datenbank ändern
- Führen Sie diese Skripte auf einem Computer mit der alten Datenbankstruktur aus und sehen Sie, wie sie sich ändert
- Überprüfen Sie alle kritischen Stellen der neuen Basis
Update zum Verkauf
- Stoppen Sie die Produktionsdatenbank
- Erstellen Sie ein vollständiges Backup
- Ausführen von Skripten
- Da es normalerweise viele davon auf dem Markt gibt, können diese Skripte stundenlang arbeiten
Sie starten das Produkt und hoffen, dass Sie nicht alles zurücksetzen müssen.
6.2 ALTER TABLE-Anweisung
Andererseits ist das Skript selbst, das die Tabellenstruktur ändert, sehr einfach. In mancher Hinsicht ähnelt es einem Skript zur Tabellenerstellung. Gesamtansicht einer Tabellenänderungsanfrage:
ALTER TABLE table
team 1,
team 2,
Team N
Befehle sind sehr unterschiedlich, es lassen sich jedoch drei Hauptgruppen unterscheiden:
ADD
- fügt der Tabelle etwas hinzuMODIFY
- ändert etwas in der TabelleDROP
- Löscht etwas in der Tabelle
Und wenn ich etwas sage, geht es nicht um die Daten, sondern um die Struktur der Tabelle.
Wenn Sie beispielsweise entscheiden, der Tabelle eine neue Spalte hinzuzufügen, müssen Sie die folgende Abfrage ausführen:
ALTER TABLE table
ADD COLUMN Name type
Schreiben wir eine Abfrage, die unserer Mitarbeitertabelle eine E-Mail- Spalte hinzufügt :
ALTER TABLE employee
ADD COLUMN email VARCHAR(10)
Jetzt ändern wir die Länge des E-Mail-Strings von 10 auf 100: Dazu benötigen wir ein neues Skript:
ALTER TABLE employee
MODIFY COLUMN email VARCHAR(100)
Wenn Sie einige Attribute einer Spalte ändern möchten, nicht jedoch deren Typ, benötigen Sie den Befehl ALTER COLUM
. Legen wir den Standard -E-Mail- Wert fest:
ALTER TABLE employee
ALTER COLUMN email VARCHAR(100) DEFAULT 'test@test.com'
Und schließlich kann die Spalte entfernt werden, wenn Sie sie nicht benötigen:
ALTER TABLE employee
DROP COLUMN email
6.3 Hinzufügen und Entfernen eines Primärschlüssels
Und einige weitere nützliche Beispiele.
Nehmen wir an, wir haben vergessen, die ID- Spalte als Primärschlüssel zu deklarieren. Sie können dies jederzeit separat tun über ALTER TABLE
:
ALTER TABLE employee
ADD PRIMARY KEY (email);
Das Entfernen ist noch einfacher:
ALTER TABLE employee
DELETE PRIMARY KEY;
GO TO FULL VERSION