Sql Datenbearbeitung: Auserwählte Einsatz-Löschung und ändern SQL Daten

Dieses tutoriald konzentriert auf, wie man Daten von den Tabellen in der Datenbank mit SQL Datenbehandlungssprache hinzufügt, ändert und entfernt. Ohne dieses Wissen würden wir wirklich keinen Gebrauch für eine Datenbank haben; es würde einfach ein statisches Wesen ohne Zweck sein.

Lassen Sie uns zuerst eine Datenbank und eine Tabelle herstellen, um mit in diesem Tutorial zu arbeiten. Unsere Datenbank wird dmlexample genannt, also lassen Sie uns verursachen das jetzt mit der folgenden Aussage:

mysql > VERURSACHEN DATENBANK dmlexample;

Sobald hergestellt, müssen wir spezifizieren, daß wir die neue Datenbank benutzen möchten, indem wir diese Aussage durchführen:

mysql > GEBRAUCH dmlexample;

Die Konsole sollte uns jetzt informieren, daß die Datenbank geändert hat;

  

Nun da wir unsere Datenbank aufstellen lassen, lassen Sie uns herstellen eine Tabelle, um mit benannt zu experimentieren sampletable. Diese Tabelle enthält das folgende auffängt: username, Kennwort, Alter, E-mail und das Datum, welche die Eintragung verursacht wurde.

Wir können unsere Tabelle mit der folgenden DDL Aussage dann herstellen:

mysql > STELLEN die sampletable TABELLE her (- > username 
TEXT, - > Kennwort TEXT, - > das Alter INTERN, - > email TEXT, - > 
datecreated ZEITSTEMPEL);  

Einsetzen Von von Daten

Nun da wir unsere Tabelle herstellen lassen, lassen Sie uns betrachten, wie wir über das Hinzufügen der Reihen (Aufzeichnungen) der Informationen in sie einsteigen. Um Reihen in die Tabelle hinzuzufügen, müssen wir den EINSATZ-Befehl verwenden. Ist hier, wie wir eine einzelne Reihe unserem sampletable hinzufügen würden.

mysql > EINSATZ IN sampletable WERTE ->('andrew ', ' 
QWERTY ', 20, ' andrew@dreamcircle.co.uk ', NULL)

Nachricht, wie das Rückgespräch von der Konsole uns erklärt, daß eine Reihe beeinflußt worden ist. Folglich haben wir eine Reihe unserem sampletable Tabelle hinzugefügt.

Wir können einen Befehl genannt AUSERWÄHLT dann verwenden, um die Daten in der Tabelle anzusehen. Wir steigen in mehr Detail über diesen Befehl später in diesem tutotial ein, da es sehr wichtig ist, aber für jetzt verwenden uns es gerade blind. Lassen Sie uns sehen, welche Daten in unserer dmlexample Tabelle sind:

mysql > WÄHLEN * VON sampletable vor;
Anmerkung

Nachricht, wie datecreated, fangen reflektiert die Zeit und das Datum auf, als wir die Reihe in die Tabelle hinzufügten. Dieses ist, weil wir NULL spezifizierten, als wir die Reihe addierten, und das Tun dies läßt einen ZEITSTEMPEL Zupacken das Tagesdatum und die Zeit vom System durch Rückstellung auffangen.

Es ist auch möglich, einige Reihen von Daten in einem einzigen Befehl hinzuzufügen. Lassen Sie uns dieses jetzt versuchen, indem Sie andere drei Reihen unserem Tabelle in einem einzelnen EINSATZ-Befehl hinzufügen. Dieses wird getan, wie folgt:

mysql > EINSATZ IN sampletable WERTE - > (' glenn ', ' 
gimboid ', 21, ' glenn@chopsewage.com ', NULL), - > (' jim ', ' 
letmein ', 23, ' jim@email.net ', NULL), - > (' wes', ' opensesame ', 
31, ' wes@email.net ', NULL);

Wie Sie sehen können, dieses mal schlägt das Rückgespräch von der Konsole vor, daß drei Reihen beeinflußt worden sind; folglich haben wir drei Reihen unserem Tabelle hinzugefügt. Wir können dieses überprüfen, indem wir wieder den AUSERWÄHLTEN Befehl verwenden:

mysql > WÄHLEN * VON sampletable vor;

Wenn dieses durchgeführt wird, sehen Sie jetzt, daß die Tabelle vier Reihen (oder Aufzeichnungen, wenn Sie mögen), der Informationen enthält.

Ändernde Daten

Nun da wir Daten einem Tabelle hinzufügen können, lassen uns betrachten, wie wir über ändernde vorhandene Tabelle Daten gehen.

Um Daten in einer Tabelle zu ändern, benötigen wir den Gebrauch von dem UPDATE-Befehl. Lassen Sie uns zuerst versuchen, alle Kennwörter in allen Reihen in der Tabelle "zum changeme zu ändern." Dieses kann mit der folgenden Aussage vollendet werden:

mysql > UPDATE-SAMPLETABLE SATZ-Kennwort = ' changeme ';
Vorsicht

Der UPDATE-Befehl (sowie alle SQL Befehle) ist ziemlich leistungsfähig. Mit reckless Gebrauch können Sie eine Menge Daten mit einem einfachen Fehler zerstören. Fast jede Frage sollte ein haben mindestens wo Bedingung.

Wenn wir diese Aussage durchführen, informiert die Konsole uns, daß vier Reihen beeinflußt worden sind, da wir das Kennwort für jede Reihe in dieser Tabelle geändert haben.

Jetzt können wir den Effekt auf die Tabelle sehen, indem wir den AUSERWÄHLTEN Befehl verwenden, wie folgt:

myql > WÄHLEN * VON sampletable vor;

Eine offensichtliche Frage ist jetzt, was, wenn ich nur eine einzelne Reihe aktualisieren möchte? Lassen Sie uns sagen, daß wir Kennwort Glenns vom changeme zurück zu gimboid ändern möchten. Wir würden die folgende Aussage verwenden, um dies zu tun:

mysql > UPDATE-SAMPLETABLE SATZ-Kennwort = ' gimboid ' WO 
username = ' glenn ';

Wenn wir diesen Befehl in der Konsole durchführen, informiert sie uns, daß eine Reihe beeinflußt worden ist. Dieses ist, weil es nur das Kennwort auffängt aktualisiert, wenn das username ist gleich glenn auffangen. Wenn wir den AUSERWÄHLTEN Befehl auf der Tabelle jetzt verwenden, können wir sehen, daß nur Kennwort Glenns geändert hat.

Wir können diese Technik auch anwenden, um uns zu ermöglichen, nur sicheres zu aktualisieren auffangen. Z.B. könnten wir alle Kennwörter der Leute ändern, die Alter 30 oder jüngeres sind. Ist hier der Befehl, den wir benötigen würden, um dies zu tun:

mysql > UPDATE-SAMPLETABLE SATZ-Kennwort = ' Junge ' WO 
Alter <= 30

Wenn wir diesen Befehl durchführen, informiert er uns, daß drei Reihen beeinflußt worden sind, da drei der vier Aufzeichnungen in unserer Tabelle ein Alter haben, das gleich ist oder weniger als 30.

Spitze

Eine nützliche Idee ist, einen Zeitstempel zu aktualisieren auffangen mit NULL. Dieses holt die neueste Zeit vom System zurück, das die Datenbank an laufen läßt (d.h., würde ein praktischer Gebrauch das letzte Mal merken sollen, das ein Spieler innen loggte).

Entfernen (Von von Löschen) Daten

Das Entfernen von von Daten von einer Tabelle wird in einer sehr ähnlichen Weise zur Aktualisierung von von Daten getan. Zuerst betrachten wir, wie man eine einzelne Reihe von Daten löscht. Lassen Sie uns jetzt glenn aus der Datenbank mit der folgenden Aussage löschen:

mysql > LÖSCHUNG VON sampletable WO username = ' glenn ';

Wenn wir diesen Befehl durchführen, informiert der MySQL Konsole Klient uns, daß eine Reihe beeinflußt wurde (, d.h. gelöscht).

Wieder, wie mit den UPDATE-Aussagen, können wir Bedingungen spezifizieren, um uns zu erlauben, z.B. jeder mit einem Alter weniger als 30 zu löschen. Lassen Sie uns dies mit der folgenden Aussage jetzt tun:

mysql > LÖSCHUNG VON sampletable WO Alter < 30;

Wenn wir diese Aussage durchführen, informiert der Klient uns, daß zwei Reihen beeinflußt worden sind, oder in diesem Fall, gelöscht. Wenn wir jetzt den AUSERWÄHLTEN Befehl auf unserer Tabelle verwenden, sehen wir, daß nur eine Reihe in der Tabelle gelassen wird.

Schließlich ist es auch möglich, alle Reihen aus einer Tabelle in einer einzelnen Aussage zu löschen. Alles, das wir tun müssen, soll keine Bedingung spezifizieren, wie wir, als wir das ganzes Kennwort auffangen zum changeme aktualisierten. Ist hier die Aussage zum Löschen alle Reihen in einer Tabelle (, leeren Sie d.h. die Tabelle).

mysql > LÖSCHUNG VON sampletable;

Wie Sie sehen können, enthält die Tabelle jetzt keine Informationen.

Verwenden der AUSERWÄHLTEN Aussagen

Bis jetzt haben wir einfach den folgenden Befehl verwendet, alle Daten in unserer sampletable Tabelle zu zeigen:

mysql > WÄHLEN * VON sampletable vor;

Dieses holt wirklich ganzes auffängt von der sampletable Tabelle und vom Zurückbringen sie. * ist ein Wildcard, dem Mittel im Allgemeinen es alles darstellt (oder in diesem Fall, fangen irgendwelche auf).

Bevor wir in die AUSERWÄHLTE Aussage weiter einsteigen, lassen Sie uns hinzufügen zuerst etwas Daten Experiment mit in unserer sampletable Tabelle. Verwenden Sie die folgende Aussage, um etwas Daten einzusetzen:

mysql > EINSATZ IN sampletable WERTE - > (' Andrew ', ' 
QWERTY ', 20, ' andrew@dreamcircle.co.uk ', NULL), - > (' Andrew ', ' 
letmein ', 27, ' andrew@email.net ', NULL), - > (' george ', ' Papier 
', 19, ' george@email.net ', NULL), - > (' Jenny ', ' jen999 ', 27, ' 
jen@email.net ', NULL), - > (' sandra ', ' sdra2 ', 27, ' 
sandra@email.net ', NULL);

Nun da wir unsere Daten in die Tabelle hinzugefügt haben, wenn wir die AUSERWÄHLTE Aussage mit dem Wildcard (*) verwenden, wie wir vor taten, holt es zurück und zeigt alle die Informationen von der Tabelle in die Konsole an. Lassen Sie uns dieses mit der folgenden Aussage jetzt versuchen.

mysql > WÄHLEN * VON sampletable vor;

Wie Sie sehen können, hat die Aussage alle die Informationen von der Tabelle zurückgeholt (d.h., alle Reihen und alle der Spalten enthalten in jeder der Reihen).

Lassen Sie uns sagen, daß alles, das wir zurückholen möchten, das Kennwort auffangen ist. Um alle Kennwörter von der sampletable Tabelle zu erhalten, würden wir die folgende Aussage verwenden:

mysql > AUSERWÄHLTES Kennwort VON sampletable;

Nachricht, wie wir einfach den Wildcard (*) mit der Spalte ersetzen, möchten wir zurückholen. Wir können mehrfache Spalten auch zurückholen, indem wir ein Komma verwenden, um sie abzugrenzen. Lassen Sie uns versuchen, nur die username Spalte und Kennwortspalte vorzuwählen. Ist hier die Aussage, die wir für dieses benötigen:

mysql > AUSERWÄHLTES username, Kennwort VON sampletable;

Wenn wir diese Aussage durchführen, können wir in die Konsole sehen, daß nur das username und das Kennwort sind vorgewählt worden von der Tabelle auffängt.

Nun da wir Einzelperson zurückholen können, von den Tabellen auffängt, wie holen wir eine einzelne Reihe zurück? Wir können eine Bedingung an einer AUSERWÄHLTEN Aussage leicht anwenden, gerade wie wir, als wir die Tabelle aktualisierten und aus der Tabelle löschten. Mit einer bedingten AUSERWÄHLTEN Aussage lassen Sie uns nur Informationen des Jennys von der Datenbank anzeigen. Ist hier die Aussage, die wir für dieses benötigen:

mysql > WÄHLEN * VON sampletable WO username = ' Jenny ' 
vor;

Wenn wir diese Aussage durchführen, nur Details des Jennys in der MySQL Klient Konsole angezeigt werden.

Wir können die Idee des Vorwählens auch enthalten spezifiziert auffangen. Ein praktisches Beispiel von diesem würde das Kennwort finden sollen, das auf einem username bezieht. Ist hier, wie wir das Kennwort erhalten würden, das George gehörte:

mysql > AUSERWÄHLTES Kennwort VON sampletable WO username
= ' george ';

Wenn wir diese Aussage durchführen, können wir sehen, daß nur ein einzelnes wird angezeigt auffangen, das geschieht, Kennwort Georges zu sein.

Anmerkung

Wenn wir spezifizieren, fängt Besondere auf, wie in diesem Beispiel, wir nicht auf auffangen begrenzt werden, daß wir für Gebrauch in WO Klausel vorwählen.

In unseren Beispieldaten gibt es zwei Reihen mit dem username Andrew. Wenn wir versuchen, eine bedingte Aussage zu verwenden, um das Kennwort für Andrew zu erhalten, erhalten wir tatsächlich zwei Kennwörter, eins für jede Andrew Eintragung in der Datenbank. Lassen Sie uns dieses gerade für Beweis jetzt versuchen. Ist hier die Aussage, die wir benötigen:

mysql > AUSERWÄHLTES Kennwort VON sampletable WO username
= ' Andrew ';

Wenn wir diese Aussage durchführen, können wir sehen, daß wir zwei Kennwörter haben, in der Konsole zu zeigen.

Anmerkung

Duplikate können vom Resultat durch das Verwenden der EINDEUTIGEN Wahl entfernt werden. Z.B.: WÄHLEN Sie EINDEUTIGES username VON sampletable vor.

Lassen Sie uns haben einen Blick an, wie dergleichen Befehl uns helfen kann, die Informationen zu finden, die wir benötigen. Das Verwenden WIE ist für das Finden der Zeichenketten in den Datenbanken ideal, besonders wenn Sie nur ein Teil der kompletten Zeichenkette haben (d.h., für ein Search Engine). Z.B. lassen Sie uns sagen, daß wir jemand in der Datenbank finden möchten deren Name mit dem Buchstaben J beginnt. Um dieses zu vollenden, würden wir die folgende Aussage benötigen:

mysql > WÄHLEN * VON sampletable vor, WO username ' j% ' 
MÖGEN;

Beachten Sie hier, wie Jenny zurückgeholt wurde, als ihr username war das einzige, zum mit einem J zu beginnen. Das % stellt einen Wildcard dar, wenn Sie mit WIE, also verwendet werden, wenn wir die folgende Aussage anstatt verwendeten:

mysql > WÄHLEN * VON sampletable vor, WO username ' %j% '
MÖGEN;

... konnte der Buchstabe J in der Zeichenkette überall erscheinen. Auch merken Sie, daß Sie mehr als ein einzelner Buchstabe haben können:

mysql > WÄHLEN * VON sampletable vor, WO username ' %nny 
' MÖGEN;

Dieses würde alle Leute zurückholen, die Namen haben, die beenden mit dem nny Text "." Schließlich wenn wir die folgende Aussage verwendeten:

wählen Sie * von sampletable vor, wo username ' %nny%a ' 
mögen;  

... würde es alles Reihen Enthalten "nny" in ihren Namen zurückholen, aber der Name würde mit "a" beenden müssen.

dieses ist ein Artikel, der von George Ionescu hinzugefügt wird


Verzicht: Unsere Web site ist nicht zu der Information verantwortlich, die durch diesen Artikel enthalten wird. Dieser Artikel reflektiert keineswegs die Ansichten, die Meinungen, die Gedanken oder den Glauben des Artikelverzeichnisstabes.

Übersetzung Nachricht: Der Artikel "SQL Datenbearbeitung: Auserwählte Einsatz-Löschung und ändern SQL Daten "wurde übersetzt mit einem automatisierten Übersetzungsdienst. Wir entschuldigen herzlichst uns für alle mögliche Übersetzung Störungen, die auftraten. Danke für das Verstehen.

Online: 817 users browsing the articles directory