[Powered by Google Translate] [SQL] [CHRISTOPHER BARTHOLOMEW] [HARVARD UNIVERSITY] [DIESES IST CS50] [CS50 TV] So verwenden Programmierer Datenbanken als ein Werkzeug zum Speichern und Organisieren unserer persistenten Daten in Tabellen. Dies bedeutet, dass Ihre Daten auf nicht-flüchtigen Mediane wie einer Festplatte gespeichert ist, und selbst wenn der Computer ausgeschaltet ist, sind die Daten noch intakt. Und als Programmierer, nutzen unsere Programme Datenbanken für Szenarien wie das Speichern Benutzer-Informationen aus Web-Formularen, Nachschlagen Inventar, oder Aktualisierung von Informationen über das, was Websites anzuzeigen. Aber woher wissen wir eigentlich mit unserer Datenbank zu interagieren, oder was wir verwenden, um zu lesen, zu speichern, zu löschen, und aktualisieren unsere Daten innerhalb dieser Datenbanktabellen? Nun, die Antwort ist, dass wir eine spezielle Art von Datenbank-Sprache verwenden, was interagiert direkt mit unserer Datenbank-Tabellen. Sein Name ist Query Language Strukturierte, [Structured Query Language] oder was ich als SQL. Nun, [Se-quel] oder SQL ist keine Programmiersprache, sondern, es ist eine Sprache, die einen Standard-Satz von Befehlen bietet zum Abrufen und Bearbeiten von Daten aus einer Vielzahl von Datenbank-Management-Systeme. Für die Zwecke der CS50, wir gehen über vier grundlegende Befehle: Auswählen, Einfügen, Aktualisieren und Löschen. Darüber hinaus werden wir nutzen eine Datenbank Web-Interface namens phpMyAdmin, die auf dem Gerät installiert werden, um unsere SQL-Anweisungen zu schreiben. Also, zu helfen, erinnern Sie sich diese Befehle, Ich habe einige Cupcakes in einem Schrank mit unseren Szenarien unterstützen brachte. Angenommen, Sie haben einen kleinen Kuchen-Datenbank, wo Sie speichern alle Informationen über Ihre Cupcakes. Jetzt können Datenbanken enthalten viele Tabellen und die Tabellen selbst können viele Spalten. In unserem Kuchen-Datenbank, haben wir eine Tabelle namens cupcake_cupboard. Diese Tabelle wird verwendet, um alle Informationen über Cupcakes speichern , dass es gut, in Ihrem Schrank. Die Spalten, die in Ihrer Tabelle sind vertreten die Attribute eines Cupcake. Beispielsweise sind die Spalten der cupcake_cupboard Kuchen ID, CakeType, CakeColor und CakeIsNice. Dieser boolean typisierte Spalte wird verwendet, um festzustellen, ob der Kuchen schön oder nicht schön. Wir werden mit dem Schreiben einer select-Anweisung beginnen. Select-Anweisungen werden verwendet, um Daten eines bestimmten Datenbank-Tabelle abzurufen. In diesem Szenario wollen wir alles wissen über alle Cupcakes, die in unserem Schrank vorhanden. Die Syntax dafür ist "Select" space star, oder *, Raum aus dem Weltraum unserem Tisch, das ist cupcake_cupboard. Lasst uns weitermachen und auszuführen, dass. Wie wir sehen können, sind diese alle die Cupcakes in unserem Schrank. Es ist wichtig, dass *, oder Sternchen beachten, ist ein Platzhalterzeichen das bedeutet die Sammlung aller Spalten einiger Tisch. Normalerweise können wir auf eine bestimmte Spalte oder Spalten durch Ersetzen * mit dem tatsächlichen Spaltennamen. Wenn wir mehrere Spalten, wollen aber nicht alle können wir das erreichen indem die Spaltennamen Abgrenzung jede Spalte durch ein Komma. Zum Beispiel, lasst uns nur rufen die CakeId und CakeType im cupcake_cupboard Tisch. Die Syntax dafür ist: SELECT Raum CakeID Komma CakeType Raum von unserem Tisch, cupcake_cupboard. Fahren wir fort und führen Sie dies. Und hier haben wir jetzt nur die beiden Spalten wir angegeben für jeden Kuchen in unserem Schrank. Wir können auch verfeinern unsere Abfrage-Ergebnisse durch die Angabe "Wo"-Klausel unmittelbar nach dem Tabellennamen. Zum Beispiel scheint es einen Kuchen in unserem Schrank sein das ist gut, nicht so gut aus. Lasst uns herausfinden, all die Cupcakes in unserem Schrank,, gut, nicht so gut aussehende mit dem "Wo"-Klausel. Die Syntax dafür ist: SELECT Raum * Raum aus dem Weltraum cupcake_cupboard Raum, in dem Raum unserer bedingten Spalte, in diesem Fall CakeIsNice =, und die booleschen Wert False. Es ist wichtig zu beachten, dass, wenn Sie Zeichenfolgen, müssen Sie ihn in einfache Anführungszeichen setzen. Dies gilt für alle Zeichenfolgen in SQL wahr, oder, in SQL-Datenbank Begriffe, Zeichen-Variante bekannt als Varchar-Datentyp. In diesem Fall werden wir mit True oder False, das ist ein boolean-Wert und kein String. Lasst uns weitermachen und diesen Befehl ausführen. Und siehe da, es ist der Fall, dass wir ein Schokolade haben nicht so schön Kuchen in unserem Schrank. Als nächstes werden wir eine Insert-Anweisung zu schreiben. INSERT-Anweisungen werden verwendet, um einfügen oder zusätzliche Reihen von Daten in Ihre Datenbank-Tabelle. Revisiting unserem Szenario gehen wir davon aus, dass wir gerade ein neues Cupcake gemacht. Da wir sehr Cupcake Esser organisiert sind, wir gehen zu müssen, um diese neue Cupcake einfügen in unserem cupcake_cupboard Tisch. Die Syntax, dies zu tun ist: Legen Sie den Raum in Raum unserem Tisch, cupcake_cupboard, Raum (, und hier geben wir die Spalten Namen, getrennt durch ein Komma, CakeType Komma CakeColor Komma CakeIsNice) Raum. Danach schreiben wir das Wort VALUES Raum (und hier geben wir den Wert für jede Spalte bzw. auch durch ein Komma getrennt. Einfaches Anführungszeichen, weil sie alle Varchar Werte sind wir umgeben sie in einfache Anführungszeichen, ERDNUSSBUTTER 'Komma' LIGHT BROWN 'comma True. Jetzt ist es wichtig, dass jede Zeile eine eindeutige Nummer, um sich zu identifizieren. Selbstzählende eine Spalte bietet dies als  "Keine zwei die gleichen IDs kann jemals in dieser Tabelle existieren." Fahren wir fort und ausführen. Dort gehen wir, alle organisiert. Die nächste SQL-Anweisung, dass wir schreiben, ist eine Update-Anweisung. Die Update-Anweisung kann verwendet werden, um Daten innerhalb einer Spalte zu ändern für jede vorhandene Zeile in der Datenbank-Tabelle. Früher in unserem Szenario mit einer select-Anweisung, identifizierten wir einen kleinen Kuchen innerhalb unserer cupcake_cupboard der Tabelle, deren CakeIsNice Wert war falsch. Nehmen wir an, dass während unserer Erdnussbutter Kuchen im Ofen war, machten wir uns auf nicht-so-nette Kuchen sehr nett. Ist so außergewöhnlich organisiert, wollen wir unseren Kuchen, diesen Wert zu reflektieren in unserem cupcake_cupboard Tisch. Daher lasst aktualisieren unsere cupcake in der Datenbank, um dies widerzuspiegeln. Die Syntax ist: UPDATE Raum unserem Tisch, cupcake_cupboard, Raum SET Raum die Säule, die wir ändern wollen, CakeIsNice =. Dann hier stellen wir unsere neuen Wert True Raum. Nun, da wir nicht wollen, um alle Zeilen mit diesem Wert zu aktualisieren, wollen wir eine "Where-Klausel", die uns zu lokalisieren stellt die genaue Zeile, die wir ändern wollen. In diesem Fall ist bekannt, dass es nur einen kleinen Kuchen das hat einen CakeIsNice Wert False. Darüber hinaus werden wir auch sicherstellen, dass wir aktualisieren die richtige Zeile mit dem "Und"-Klausel. Wir verwenden die "Und"-Klausel, um unsere Abfrage weiter zu verfeinern. In diesem Fall, weil wir wissen, dass der Kuchen Schokolade, Wir verwenden diese CakeType Spalte. Wo der Raum unserer bedingte Spalte Platz CakeIsNice space = False, Raum und CakeType = 'CHOCOLATE. Also, setzen sie alle zusammen, sagt dieser Update-Anweisung finden Sie alle Cupcakes in unseren Cupcake Schrank, und wenn es ein Cupcake, deren Spalte CakeIsNice enthält den Wert False und CakeType enthält den Wert SCHOKOLADE, wollen wir die bestimmte Zeilen CakeIsNice Wert auf True zu aktualisieren. Also, lasst uns gehen Sie vor und führen Sie die Anweisung. Und jetzt sind wir organisiert. All das Gerede von Cupcakes hat mich ein bisschen hungrig. Ich glaube, ich sollte mich ein helfen. Aber wenn ich esse tatsächlich diese cupcake, sollte ich wenigstens auch entfernen ihre Existenz  von unserem cupcake_cupboard Tisch. Dazu verwenden wir die "Delete"-Anweisung. Die "Löschen"-Anweisung kann verwendet werden, um alle oder einige Zeilen aus der Tabelle zu entfernen. Wenn Sie einige bestimmte Zeile aus der Tabelle zu entfernen, dann müssen Sie eine "Where-Klausel", so die Angabe einer Spalte das sollte einzigartig in der Zeile, die Sie entfernen möchten. Dies ist die Syntax: DELETE Raum aus dem Weltraum unserem Tisch, cupcake_cupboard, Raum. Nun, an diesem Punkt, wenn Sie so weit in Ihrem delete-Anweisung Sie wollen sehr vorsichtig sein. Zum Beispiel, wenn ich diese Abfrage ausführen möchten, wie es ohne Angabe von etwas "Wo"-Klausel Ich würde alle Daten in diesem cupcake_cupboard Tabelle zu verlieren, sondern weil ich wissen bereits, dass mein Kuchen eindeutig sind, verwende ich Die Red Velvet Kuchen ID für meine "Wo"-Klausel. Wo der Raum unserer Kolumne, CakeID = 1. Da es sich um einen Integer-Wert gibt es keine Notwendigkeit zu umgeben ihn in einfache Anführungszeichen. Also, lasst uns die Anweisung auszuführen. Nun, da haben wir die Existenz dieser Cupcake wischte von unserem cupcake_cupboard Tisch, wir haben nur eine Sache links: Machen Sie es verschwinden. Ich bin Christopher Bartholomäus. Dies ist CS50.