Heim > Datenbank > MySQL-Tutorial > Grundlagen der SQL-Datenoperationen (Mittelstufe) 8

Grundlagen der SQL-Datenoperationen (Mittelstufe) 8

黄舟
Freigeben: 2016-12-17 14:36:53
Original
1036 Leute haben es durchsucht

Datensätze aktualisieren

Um einen oder mehrere Datensätze zu ändern, die bereits in der Tabelle vorhanden sind, sollte SQL verwendet werden UPDATE-Anweisung. Wie die DELETE-Anweisung kann die UPDATE-Anweisung die WHERE-Klausel verwenden, um bestimmte Datensätze zum Aktualisieren auszuwählen. Bitte sehen Sie sich dieses Beispiel an:

UPDATE mytable SET first_column=’Updated!’ WHERE second_column=’Update Me!’

Dieses UPDATE Die Anweisung aktualisiert den Wert aller Felder „second_column“ auf „Update“. Ich!‘ Rekord. Für alle ausgewählten Datensätze wird der Wert des Feldes first_column auf „Aktualisiert!“ gesetzt.

Das Folgende ist die vollständige Syntax der UPDATE-Anweisung:

UPDATE {table_name|view_name} SET [{TABLE_NAME | variable_and_column_listn }]]

[WHERE Klausel]

Hinweis:

Sie können die UPDATE-Anweisung für Textfelder verwenden. Wenn Sie jedoch eine sehr lange Zeichenfolge aktualisieren müssen, sollten Sie die UPDATETEXT-Anweisung verwenden. Dieses Material ist für dieses Buch zu fortgeschritten und wird nicht besprochen. Weitere Informationen finden Sie bei Microsoft SQL-Server Dokumentation.

Wenn Sie keine WHERE-Klausel angeben, werden alle Datensätze in der Tabelle aktualisiert. Manchmal ist das nützlich. Wenn Sie beispielsweise den Preis aller Bücher in der Titeltabelle verdoppeln möchten, können Sie UPDATE wie folgt verwenden Aussage:

Sie können auch mehrere Felder gleichzeitig aktualisieren. Beispielsweise aktualisiert die folgende UPDATE-Anweisung gleichzeitig die drei Felder first_column, second_column undthird_column:

UPDATE mytable SET first_column=’Aktualisiert!’

Second_column=’Aktualisiert!’

Third_column=’Aktualisiert!’

WO first_column=’Update Me1’

Tipp:

SQL ignoriert zusätzliche Leerzeichen in der Anweisung. Sie können SQL-Anweisungen in jedem Format schreiben, das für Sie am einfachsten zu lesen ist.



Verwenden Sie SELECT Erstellen Sie Datensätze und Tabellen

Sie haben vielleicht bemerkt, dass INSERT Die Anweisung unterscheidet sich ein wenig von der DELETE-Anweisung und der UPDATE-Anweisung darin, dass sie jeweils nur einen Datensatz bearbeitet. Es gibt jedoch eine Möglichkeit, INSERT durchzuführen Anweisung zum gleichzeitigen Hinzufügen mehrerer Datensätze. Dazu müssen Sie eine INSERT-Anweisung mit einer SELECT-Anweisung kombinieren, etwa so:

INSERT mytable (erste_Spalte,zweite_Spalte)

SELECT another_first,another_second

FROM anothertable

WO another_first=’Kopieren Ich!‘

Diese Anweisung kopiert Datensätze von anothertable nach mytable. Nur der Wert des Feldes another_first in der Tabelle anothertable ist ‚Copy‘ Mich! ’ Datensätze werden kopiert.

Beim Erstellen einer Sicherung von Datensätzen in einer Tabelle wird diese Form von INSERT verwendet Aussagen sind sehr nützlich. Mit dieser Methode können Sie Datensätze von einer Tabelle in eine andere kopieren, bevor Sie sie löschen.

Wenn Sie die gesamte Tabelle kopieren müssen, können Sie SELECT INTO verwenden Stellungnahme. Die folgende Anweisung erstellt beispielsweise eine neue Tabelle mit dem Namen newtable, die alle Daten für die Tabelle mytable enthält:

SELECT * INTO newtable AUS mytable

Sie können auch festlegen, dass nur bestimmte Felder zum Erstellen dieser neuen Tabelle verwendet werden. Geben Sie dazu einfach in der Feldliste die Felder an, die Sie kopieren möchten. Alternativ können Sie WHERE verwenden -Klausel, um die in die neue Tabelle kopierten Datensätze zu begrenzen. Im folgenden Beispiel wird nur der Wert des Felds „second_columnd“ kopiert, der „Copy“ entspricht Ich!‘ first_column-Feld des Datensatzes.

SELECT first_column INTO newtable

FROM mytable

WHERE second_column=’Copy Ich!‘

Es ist schwierig, eine bereits erstellte Tabelle mit SQL zu ändern. Wenn Sie beispielsweise ein Feld zu einer Tabelle hinzufügen, gibt es keine einfache Möglichkeit, es zu entfernen. Wenn Sie einem Feld außerdem versehentlich den falschen Datentyp zuweisen, können Sie es nicht ändern. Mit den in diesem Abschnitt beschriebenen SQL-Anweisungen können Sie jedoch beide Probleme umgehen.

Angenommen, Sie möchten ein Feld aus einer Tabelle löschen. Verwenden Sie SELECT HINEIN -Anweisung können Sie eine Kopie der Tabelle ohne die Felder erstellen, die Sie löschen möchten. Dadurch können Sie das Feld löschen und gleichzeitig die Daten behalten, die Sie nicht löschen möchten.

Wenn Sie den Datentyp eines Feldes ändern möchten, können Sie eine neue Tabelle mit Feldern des richtigen Datentyps erstellen. Sobald die Tabelle erstellt ist, können Sie die UPDATE-Anweisung mit SELECT verwenden Anweisung, um alle Daten in der Originaltabelle in die neue Tabelle zu kopieren. Mit dieser Methode können Sie die Struktur der Tabelle ändern und die Originaldaten speichern.

Aggregationsfunktionen

Bisher haben Sie nur gelernt, wie Sie anhand bestimmter Bedingungen einen oder mehrere Datensätze aus einer Tabelle abrufen. Angenommen, Sie möchten Statistiken zu Datensätzen in einer Tabelle erstellen. Wenn Sie beispielsweise die Ergebnisse einer Umfrage zählen möchten, die in einer Tabelle gespeichert sind. Oder Sie möchten wissen, wie viel Zeit ein Besucher durchschnittlich auf Ihrer Website verbringt. Um Statistiken zu beliebigen Datentypen in einer Tabelle zu erstellen, müssen Sie Aggregatfunktionen verwenden.

Microsoft SQL Es werden fünf Arten von Aggregatfunktionen unterstützt. Sie können die Anzahl der Datensätze zählen: Durchschnitt, Minimum, Maximum oder Summe. Wenn Sie eine Aggregatfunktion verwenden, gibt diese einfach eine Zahl zurück, die einen dieser statistischen Werte darstellt.

Hinweis:

Um den Rückgabewert einer Set-Funktion auf Ihrer Asp-Webseite zu verwenden, müssen Sie dem Wert einen Namen geben. Dazu können Sie der Aggregatfunktion einen Feldnamen in der SELECT-Anweisung folgen, wie im folgenden Beispiel:

SELECT AVG(vote) ‚the_average‘ FROM Opinion

In diesem Beispiel wird der Durchschnitt der Stimmen genannt the_average. Jetzt können Sie diesen Namen in der Datenbankmethode Ihrer ASP-Webseite verwenden.

Zählt die Anzahl der Feldwerte

Die Funktion COUNT() ist vielleicht die nützlichste Aggregatfunktion. Mit dieser Funktion können Sie zählen, wie viele Datensätze eine Tabelle enthält. Hier ist ein Beispiel:

SELECT COUNT(au_lname) FROM Authors

Dieses Beispiel berechnet die Namen in der Autorentabelle (last Name) Nummer. Wenn derselbe Name mehr als einmal vorkommt, wird der Name mehrfach gezählt. Wenn Sie wissen möchten, wie viele Autoren einen bestimmten Namen haben, können Sie die WHERE-Klausel verwenden, wie im folgenden Beispiel gezeigt:

SELECT COUNT(au_lname) FROM Authors WHERE au_lname=’Ringer’

Dieses Beispiel gibt die Anzahl der Autoren mit dem Namen „Ringer“ zurück. Wenn der Name zweimal in der Autorentabelle vorkommt, ist der Rückgabewert dieser Funktion 2.

Angenommen, Sie möchten die Anzahl der Autoren mit unterschiedlichen Namen wissen. Sie können diese Nummer erhalten, indem Sie das Schlüsselwort DISTINCT verwenden. Wie im folgenden Beispiel gezeigt:

SELECT COUNT(DISTINCT au_lname) FROM Autoren

Wenn der Name „Ringer“ mehr als einmal vorkommt, wird er nur einmal gezählt. Schlüsselwort DISTINCT Es wird entschieden, dass nur voneinander verschiedene Werte berechnet werden.

Normalerweise werden Nullwerte in einem Feld ignoriert, wenn Sie COUNT() verwenden. Im Allgemeinen ist es das, was Sie wollen. Wenn Sie jedoch nur die Anzahl der Datensätze in der Tabelle wissen möchten, müssen Sie alle Datensätze in der Tabelle zählen – unabhängig davon, ob sie Nullwerte enthalten. Hier ist ein Beispiel dafür:

SELECT ZÄHLEN(*) VON Autoren

Beachten Sie, dass die Funktion COUNT() keine Felder angibt. Diese Anweisung zählt alle Datensätze in der Tabelle, einschließlich Datensätze mit Nullwerten. Daher ist es nicht erforderlich, bestimmte zu berechnende Felder anzugeben.

Die Funktion COUNT() ist in vielen verschiedenen Situationen nützlich. Angenommen, Sie verfügen über eine Tabelle mit den Ergebnissen einer Umfrage zur Qualität Ihrer Website. Diese Tabelle enthält ein Feld namens „Abstimmung“. Der Wert dieses Felds ist entweder 0 oder 1. 0 bedeutet eine negative Abstimmung und 1 bedeutet eine positive Abstimmung. Um die Anzahl der Upvotes zu bestimmen, können Sie Folgendes AUSWÄHLEN Aussage:

SELECT COUNT(vote) FROM Opinion_table WHERE vote=1

Berechnen Sie den Durchschnitt eines Feldes

Mit der Funktion COUNT() können Sie zählen, wie viele Werte es in einem Feld gibt. Aber manchmal muss man den Durchschnitt dieser Werte berechnen. Mit der Funktion AVG() können Sie den Durchschnitt aller Werte in einem Feld zurückgeben.

Angenommen, Sie führen eine komplexere Umfrage auf Ihrer Website durch. Besucher können zwischen 1 und 10 abstimmen, um anzugeben, wie sehr ihnen Ihre Website gefällt. Sie speichern die Abstimmungsergebnisse in einem Feld vom Typ INT namens „vote“. Um den Durchschnitt der Stimmen Ihrer Benutzer zu berechnen, müssen Sie die Funktion AVG() verwenden:

SELECT AVG(Abstimmung) VON Meinung

Der Rückgabewert dieser SELECT-Anweisung stellt die durchschnittliche Benutzerpräferenz für Ihre Website dar. Die Funktion AVG() kann nur für numerische Felder verwendet werden. Diese Funktion ignoriert bei der Berechnung des Durchschnitts auch Nullwerte.

Berechnen Sie die Summe der Feldwerte

Gehen Sie davon aus, dass Ihre Website zum Verkauf von Karten verwendet wird und seit zwei Monaten aktiv ist. Es ist an der Zeit, zu berechnen, wie viel Geld Sie verdient haben. Angenommen, es gibt eine Tabelle mit dem Namen „Bestellungen“, in der die Bestellinformationen aller Besucher aufgezeichnet werden. Um die Summe aller bestellten Mengen zu berechnen, können Sie die Funktion SUM() verwenden:

SELECT SUM(purchase_amount) FROM Der Rückgabewert der Funktion „Orders

SUM()“ stellt den Durchschnitt aller Werte im Feld „purchase_amount“ dar. Der Datentyp des Feldes Purchase_amount kann MONEY sein, Sie können die Funktion SUM() aber auch für andere numerische Felder verwenden.

Gibt den Maximal- oder Minimalwert zurück

Angenommen, Sie haben eine Tabelle, die die Ergebnisse einer Umfrage auf Ihrer Website enthält. Besucher können zwischen 1 und 10 wählen Der Wert stellt die Bewertung Ihrer Website dar. Wenn Sie die höchste Bewertung erfahren möchten, die Besucher für Ihre Website haben, können Sie die folgende Anweisung verwenden:

SELECT MAX(vote) FROM Meinung

Vielleicht wünschen Sie sich, dass jemand Ihre Website hoch bewertet hätte. Mit der Funktion MAX() können Sie den Maximalwert aller Werte eines numerischen Felds ermitteln. Wenn jemand auf Ihrer Website für die Nummer 10 gestimmt hat, gibt die Funktion MAX() diesen Wert zurück.

Wenn Sie andererseits die niedrigste Bewertung Ihrer Website durch Besucher wissen möchten, können Sie die Funktion MIN() verwenden, wie im folgenden Beispiel gezeigt:

SELECT MIN(Abstimmung) VON Meinung

Die Funktion MIN() gibt den Mindestwert unter allen Werten eines Feldes zurück. Wenn das Feld leer ist, gibt die Funktion MIN() einen Nullwert zurück.

Andere häufig verwendete SQL-Ausdrücke, Funktionen und Prozeduren

In diesem Abschnitt werden einige andere SQL-Technologien vorgestellt. Sie erfahren, wie Sie Daten aus einer Tabelle abrufen, deren Feldwerte in einem bestimmten Bereich liegen. Außerdem erfahren Sie, wie Sie Feldwerte von einem Typ in einen anderen konvertieren und wie Sie Zeichenfolgen- und Datums-/Uhrzeitdaten bearbeiten. Abschließend erfahren Sie, wie Sie auf einfache Weise eine E-Mail versenden können.

Erhalten Sie Daten, indem Sie einen Wertebereich abgleichen

Angenommen, Sie haben eine Tabelle, die die Ergebnisse einer Umfrage auf Ihrer Website enthält. Jetzt möchten Sie allen Besuchern, die Ihre Website mit einer Bewertung zwischen 7 und 10 bewertet haben, ein schriftliches Dankeschön senden. Um die Namen dieser Personen zu erhalten, können Sie das folgende SELECT verwenden Aussage:

SELECT username FROM meinung WHERE vote>6 und vote<11

Diese SELECT-Anweisung wird Ihre Anfrage erfüllen. Das gleiche Ergebnis erhalten Sie mit der folgenden SELECT-Anweisung:

SELECT Benutzername VON Meinung WO Abstimmung ZWISCHEN 7 UND 10

ThisSELECT Die Anweisung entspricht der vorherigen Anweisung. Welche Anweisung verwendet werden soll, hängt vom Programmierstil ab, aber Sie werden feststellen, dass Sie den Ausdruck BETWEEN verwenden Aussagen sind leichter zu lesen.

Angenommen, Sie möchten nur die Namen der Besucher abrufen, die mit 1 oder 10 für Ihre Website gestimmt haben. Um diese Namen aus der Meinungstabelle abzurufen, können Sie das folgende SELECT verwenden Aussage:

SELECT username FROM meinung WHERE vote=1 oder vote

Diese SELECT-Anweisung liefert die richtigen Ergebnisse, es gibt keinen Grund, sie nicht zu verwenden. Es gibt jedoch einen gleichwertigen Weg. Das gleiche Ergebnis kann mit einem SELECT wie diesem erzielt werden:

SELECT Benutzername FROM Meinung WO Stimme IN (1,10)

Achten Sie auf die Verwendung des Ausdrucks IN. Dieses SELECT Die Anweisung ruft nur Datensätze ab, deren Stimmenwert einem der Werte in Klammern entspricht.

Sie können IN auch zum Abgleichen von Zeichendaten verwenden. Angenommen, Sie möchten nur die Stimmenwerte von Bill Gates oder Präsident Clinton extrahieren. Sie können SELECT wie folgt verwenden Aussage:

SELECT vote FROM meinung WHERE Benutzername IN („Bill Gates“, „Präsident Clinton’)

Schließlich können Sie den Ausdruck NOT zusammen mit BETWEEN oder IN verwenden. Um beispielsweise die Namen von Personen abzurufen, deren Stimmenwert nicht zwischen 7 und 10 liegt, können Sie das folgende SELECT verwenden Aussage:

Benutzernamen aus der Meinung auswählen, in der nicht zwischen 7 und stimmen 10

Um Datensätze auszuwählen, deren Wert in einem bestimmten Feld nicht in einer Wertespalte enthalten ist, können Sie NOT und IN gleichzeitig verwenden, wie im folgenden Beispiel gezeigt:

SELECT vote AUS Meinung

WO Benutzername NICHT IN („Bill Gates“, „Präsident Clinton’)

Sie müssen in Ihrer SQL-Anweisung nicht BETWEEN oder IN verwenden, aber um Ihre Abfrage natürlicher zu gestalten, sind diese beiden Ausdrücke hilfreich.


Das Obige ist der Inhalt von SQL Data Operation Basics (Intermediate) 8. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (m.sbmmt.com). !


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage