Wie Sie Ihre vorhandenen SQL-Daten zu aktualisieren

Weil die Welt sich ständig ändert, verwendet die SQL-Datenbanken Aspekte der Welt zu modellieren müssen auch geändert werden. Ein Kunde kann ihre Adresse ändern. Die Menge eines Produkts auf Lager ändern können. Ein Basketball-Spieler der Saison Performance-Statistiken ändern sich jedes Mal, wenn er in einem anderen Spiel spielt. Wenn Ihre Datenbank solche Elemente enthält, müssen Sie sie in regelmäßigen Abständen zu aktualisieren.

SQL stellt die AKTUALISIEREN Anweisung für Daten in einer Tabelle zu ändern. Durch die Verwendung eines einzigen AKTUALISIEREN Anweisung können Sie ein, einige ändern, oder alle Zeilen in einer Tabelle. Das AKTUALISIEREN Anweisung verwendet die folgende Syntax:

UPDATE table_nameSET column_1 = expression_1, column_2 = Ausdruck_2, ..., column_n = expression_n [WHERE Prädikate] -

Das WOHER Klausel ist optional. Diese Klausel gibt die Zeilen, die Sie aktualisieren. Wenn Sie nicht über ein verwenden WOHER Klausel, werden alle Zeilen in der Tabelle aktualisiert. Das SET -Klausel gibt die neuen Werte für die Spalten, die Sie ändern.

Betrachten Sie diese Tabelle CUSTOMER.

NameStadtVorwahlTelefon
Abe AbelsonSpringfield field~~POS=HEADCOMP(714)555-1111
Bill BaileyDecatur(714)555-2222
Chuck HolzPhilo(714)555-3333
Don StetsonPhilo(714)555-4444
Dolph StetsonPhilo(714)555-5555

Kundenlisten ändern gelegentlich - wie sich Menschen bewegen, ihre Telefonnummern zu ändern, und so weiter. Nehmen wir an, dass Abe Abelson bewegt sich von Springfield nach Kankakee. Sie können seinen Rekord in der Tabelle aktualisieren, indem Sie die folgende Verwendung AKTUALISIEREN Erklärung:

UPDATE CUSTOMERSET Stadt = 'Kankakee', Telefon = '666-6666'WHERE Name =' Abe Abelson '-

Diese Anweisung bewirkt, dass die gezeigten Veränderungen in Tabelle 6-2.

NameStadtVorwahlTelefon
Abe AbelsonKankakee(714)666-6666
Bill BaileyDecatur(714)555-2222
Chuck HolzPhilo(714)555-3333
Don StetsonPhilo(714)555-4444
Dolph StetsonPhilo(714)555-5555

Sie können eine ähnliche Anweisung verwenden, um mehrere Zeilen zu aktualisieren. Es sei angenommen, dass Philo erlebt explosive Bevölkerungswachstum und nun einen eigenen Bereich Code erfordert. Sie können alle Zeilen für Kunden, die durch die Verwendung eines einzigen in Philo leben ändern AKTUALISIEREN Anweisung, wie folgt:

UPDATE CUSTOMERSET Area = '(619)' WHERE Stadt = 'Philo' -

Die Tabelle sieht jetzt wie in Tabelle 6-3 gezeigt.

NameStadtVorwahlTelefon
Abe AbelsonKankakee(714)666-6666
Bill BaileyDecatur(714)555-2222
Chuck HolzPhilo(619)555-3333
Don StetsonPhilo(619)555-4444
Dolph StetsonPhilo(619)555-5555

Aktualisierung alle Zeilen einer Tabelle ist einfacher, als nur einige der Zeilen zu aktualisieren. Sie brauchen nicht ein zu verwenden, WOHER Klausel, um die Aussage zu beschränken. Stellen Sie sich vor, dass die Stadt Rantoul hat großen politischen Einfluss gewonnen und hat nun im Anhang nicht nur Kankakee, Decatur, und Philo, sondern auch alle Städte und Gemeinden in der Datenbank. Sie können alle Zeilen aktualisieren, indem Sie eine einzelne Anweisung:

UPDATE CUSTOMERSET Stadt = 'Rantoul' -

Tabelle 6-4 zeigt das Ergebnis.

NameStadtVorwahlTelefon
Abe AbelsonRantoul(714)666-6666
Bill BaileyRantoul(714)555-2222
Chuck HolzRantoul(619)555-3333
Don StetsonRantoul(619)555-4444
Dolph StetsonRantoul(619)555-5555

Wenn Sie die WOHER Klausel mit der AKTUALISIEREN Erklärung zu beschränken, welche Zeilen aktualisiert werden, um den Inhalt der WOHER Klausel kann eine sein subselect - ein WÄHLEN Anweisung, wobei das Ergebnis davon als Eingabe von einem anderen verwendet wird, WÄHLEN Erklärung.

Nehmen wir an, dass Sie ein Großhändler und Ihre Datenbank enthält eine Kreditoren Tabelle mit den Namen aller Hersteller sind von denen Sie Produkte kaufen. Sie haben auch eine Tabelle PRODUCT die Namen aller Produkte enthält, die Sie verkaufen und die Preise, die Sie für sie erheben. Die VENDOR Tabelle hat Spalten Hersteller-ID, Herstellername, Straße, Stadt, Bundesland, und Reißverschluss. Die Tabelle PRODUCT hat Produkt ID, Produktname, Hersteller-ID, und Saleprice.

Ihr Lieferant, Cumulonimbus Corporation beschließt, die Preise aller Produkte um 10 Prozent zu erhöhen. Um Ihre Gewinnspanne zu erhalten, müssen Sie Ihre Preise auf den Produkten erhöhen, die Sie von Cumulonimbus um 10 Prozent zu erhalten. Sie können mithilfe der folgenden so tun AKTUALISIEREN Erklärung:

UPDATE PRODUCTSET Saleprice = (Saleprice * 1.1) WHERE VendorID IN (SELECT VendorID FROM VENDORWHERE Herstellername = 'Cumulonimbus Corporation ") -

Die subselect findet der Hersteller-ID das entspricht Cumulonimbus. Sie können dann die Verwendung Hersteller-ID Feld in der Tabelle PRODUCT die Zeilen zu finden, die Sie aktualisieren möchten. Die Preise für alle Cumulonimbus Produkte Anstieg um 10 Prozent die Preise auf allen anderen Produkten bleiben die gleichen.

Menü