Um eine interaktive Website zu erstellen, müssen Sie eine Datenbank verwenden, um Informationen von Ihren Besuchern zu speichern. Wenn Sie beispielsweise eine Website für Stellenvermittlungsdienste erstellen möchten, müssen Sie Informationen wie persönliche Lebensläufe, Jobs, an denen Sie interessiert sind, usw. speichern. Das Erstellen dynamischer Webseiten erfordert auch die Verwendung einer Datenbank. Wenn Sie die besten Jobs anzeigen möchten, die den Anforderungen des Besuchers entsprechen, müssen Sie die Jobinformationen aus der Datenbank abrufen. Sie werden feststellen, dass es viele Situationen gibt, in denen Sie eine Datenbank verwenden müssen.
In diesem Kapitel erfahren Sie, wie Sie die „Structured Query Language“ (SQL) zum Betrieb der Datenbank verwenden
Wenn Sie in SeverPages auf eine Datenbank zugreifen möchten, verwenden Sie die SQL-Sprache. Daher ist die Beherrschung von SQL für die ASP-Programmierung sehr wichtig.
Hinweis:
Sie können „SQL“ als „Fortsetzung“ oder als S-Q-L aussprechen, je nach Aussprache der einzelnen Buchstaben.
Beide Aussprachen sind korrekt und jede hat eine große Anzahl von Befürwortern.
In diesem Buch wird „SQL“ als „Fortsetzung“ ausgesprochen.
Durch das Studium dieses Kapitels werden Sie verstehen, wie Sie SQL zum Implementieren von Datenbankabfragen verwenden, Sie erfahren, wie Sie diese Abfrage verwenden, um Informationen aus der Datentabelle abzurufen, und schließlich erfahren Sie, wie Sie entwerfen
und erstellen Sie Ihre eigene Datenbank.
Hinweis:
Durch die Einführung von SQL in den folgenden Kapiteln verfügen Sie über ausreichende SQL-Kenntnisse, um Active effektiv nutzen zu können.
Seiten trennen. Allerdings ist SQL eine komplexe Sprache und
es ist unmöglich, alle Einzelheiten in diesem Buch darzustellen. Um die SQL-Sprache vollständig zu beherrschen, müssen Sie Microsoft SQL erlernen
SQL wird in Sever verwendet. Sie können in der nahegelegenen Buchhandlung
eine Kopie von Microsoft SQL Server kaufen
6.5.
SQL-Einführung:
In diesem Buch wird davon ausgegangen, dass Sie Microsoft SQL Server in SQL betreiben
Datenbank. Sie können SQL auch für den Betrieb mit vielen anderen Datenbanktypen verwenden. SQL ist die Standardsprache für den Betrieb von Datenbanken. (Tatsächlich gibt es einen speziellen ANSI-Standard für die SQL-Sprache.)
Hinweis:
Versuchen Sie nicht, Microsoft auf Ihrer Website zu verwenden
Zugriff anstelle von Microsoft
SQL-Server. SQL Server kann viele Benutzer gleichzeitig bedienen. Wenn Sie möchten, dass Ihre
-Site eine höhere Zugriffsrate hat, MS
Der Zugriff ist der Aufgabe nicht gewachsen.
Bevor Sie sich mit den Details von SQL vertraut machen, müssen Sie seine beiden Hauptmerkmale verstehen. Eine Funktion ist leicht zu beherrschen, die andere ist etwas schwierig.
Das erste Merkmal ist, dass alle Daten in SQL-Datenbanken in Tabellen gespeichert werden. Eine Tabelle besteht aus Zeilen und Spalten. Die folgende einfache Tabelle enthält beispielsweise den Namen
und E-Mail
Adresse:
Name E-Mail
Adresse
........................................... .. ........................
Bill
Gates billg@microsoft.com
Präsident
Clinton President@whitehouse.com
Stephen Walther
swalther@somewhere.com
Diese Tabelle hat zwei Spalten (Spalten werden auch Felder, Domänen genannt): Name und E-Mail
Adresse. Es gibt drei Zeilen, jede Zeile enthält einen Datensatz. Die in einer Zeile zusammengefassten Daten werden als
-Datensatz bezeichnet.
Immer wenn Sie einer Tabelle neue Daten hinzufügen, fügen Sie einen neuen Datensatz hinzu. Eine Datentabelle kann Dutzende, Tausende oder sogar Milliarden Datensätze enthalten. Auch wenn Sie
vielleicht nie eine Milliarde E-Mail-Adressen speichern müssen, ist es immer gut zu wissen, dass Sie das können, und vielleicht werden Sie es eines Tages auch brauchen.
Ihre Datenbank enthält höchstwahrscheinlich Dutzende Tabellen, und alle in Ihrer Datenbank gespeicherten Informationen werden in diesen Tabellen gespeichert. Wenn Sie darüber nachdenken, wie Sie Informationen in einer Datenbank speichern,
sollten Sie darüber nachdenken, wie Sie sie in Tabellen speichern.
Die zweite Funktion von SQL ist etwas schwierig zu beherrschen. Die Sprache ist so konzipiert, dass Sie Datensätze nicht in einer bestimmten Reihenfolge abrufen können, da dies die SQL verlangsamen würde
Severs Effizienz beim Abrufen von Datensätzen
. Mit SQL können Sie Datensätze nur basierend auf Abfragebedingungen lesen.
Wenn man darüber nachdenkt, wie man Datensätze aus einem Tisch entfernt, denkt man natürlich daran, sie nach ihrem Standort zu lesen. Vielleicht würden Sie beispielsweise versuchen,
bestimmte Datensätze auszuwählen, indem Sie sie einzeln in einer Schleife scannen. Wenn Sie SQL verwenden, müssen Sie sich daran gewöhnen, nicht so zu denken.
Angenommen, Sie möchten alle Namen auswählen, deren Namen „Bill“ sind
Gates“-Datensatz: Wenn Sie eine herkömmliche Programmiersprache verwenden, können Sie eine Schleife erstellen, um die Datensätze in der Tabelle einzeln anzuzeigen und zu sehen, ob das Namensfeld
„Bill“ lautet
Gates".
Diese Methode zur Auswahl von Datensätzen ist möglich, aber nicht effizient. Mit SQL sagen Sie einfach: „Wählen Sie alle Namensfelder aus, die Bill entsprechen.“
Gates-Datensätze“, SQL wählt
für Sie alle Datensätze aus, die die Bedingungen erfüllen. SQL ermittelt den besten Weg zur Implementierung der Abfrage.
Erstellen Sie die ersten zehn Datensätze in der Tabelle, die Sie abrufen möchten. Verwenden Sie In herkömmlichen Programmiersprachen können Sie eine Schleife erstellen und die Schleife beenden, nachdem Sie die ersten zehn Datensätze abgerufen haben.
Dies ist in einer Tabelle nicht möglich
Am Anfang werden Sie frustriert sein, wenn Sie wissen, dass Sie in SQL nicht erreichen können, was Sie Ihrer Meinung nach erreichen sollten. Vielleicht möchten Sie sogar bösartige Briefe an SQL schreibenDesigner. Aber später werden Sie erkennen, dass diese Funktion von SQL nicht nur eine Einschränkung, sondern ihre Stärke darstellt. Da SQL Datensätze nicht anhand der Position liest, kann es Datensätze
sehr schnell lesen.
Zusammenfassend lässt sich sagen, dass SQL zwei Eigenschaften aufweist: Alle Daten werden in Tabellen gespeichert. Aus SQL-Sicht sind die Datensätze in den Tabellen nicht sequentiell. Im nächsten Abschnitt erfahren Sie, wie Sie mithilfe von SQL bestimmte Datensätze aus Tabelle
auswählen.
Verwenden Sie SQL, um Datensätze aus der Tabelle abzurufen.
Eine der Hauptfunktionen von SQL ist die Implementierung von Datenbankabfragen. Wenn Sie mit dem Internet vertraut sind
Engine, dann sind Sie bereits mit Abfragen vertraut. Mithilfe von Abfragen erhalten Sie Informationen
, die bestimmte Kriterien erfüllen. Wenn Sie beispielsweise alle Websites finden möchten, die über ASP-Informationen verfügen, können Sie eine Verbindung herstellen
Yahoo! und führen Sie ein Paar Active Sever aus
Seitensuche. Nachdem Sie diese
-Abfrage eingegeben haben, erhalten Sie eine Liste aller Websites, die den Suchbegriff in ihrer Beschreibung enthalten.
Der größte Teil des Internets
Die Engine ermöglicht logische Abfragen. In logische Abfragen können Sie spezielle Operatoren wie AND, OR und NOT einbeziehen, mit denen Sie bestimmte Datensätze auswählen. Beispielsweise können Sie AND verwenden, um Abfrageergebnisse einzuschränken. Wenn Sie ein Paar Active ausführen
Sever-Seiten UND SQL-Suche. Sie erhalten aktive Sever-Seiten, deren Beschreibung auch
enthält
und SQL-Datensätze. Wenn Sie die Abfrageergebnisse einschränken müssen, können Sie AND verwenden.
Wenn Sie die Ergebnisse der Abfrage erweitern müssen, können Sie den logischen Operator OR verwenden. Wenn Sie beispielsweise eine Suche durchführen, suchen Sie nach allen Dateien, deren Beschreibung „Aktiv“ enthält
Sever
Seiten ODER
Wenn Sie SQL-Sites verwenden, enthält die Liste, die Sie erhalten, alle Sites, deren Beschreibungen beide oder einen der Ausdrücke enthalten.
Wenn Sie eine bestimmte Website aus den Suchergebnissen ausschließen möchten, können Sie NOT verwenden. Zum Beispiel die Abfrage „Aktiv
„Sever Pages“ UND NICHT „SQL“ gibt eine Spalte
Tabelle mit Sites in der Liste zurück, die Active Sever enthalten
Seiten, aber nicht SQL. Sie können NOT verwenden, wenn bestimmte Datensätze ausgeschlossen werden müssen.
Mit SQL durchgeführte Abfragen sind den mit Internetsuchmaschinen durchgeführten Suchen sehr ähnlich.
Wenn Sie eine SQL-Abfrage ausführen, können Sie mithilfe von Abfragebedingungen, einschließlich logischer Operatoren,
eine Liste von Datensätzen erhalten. Zu diesem Zeitpunkt stammen die Abfrageergebnisse aus einer oder mehreren Tabellen.
Die Syntax der SQL-Abfrage ist sehr einfach. Angenommen, es gibt eine Tabelle mit dem Namen email_table
Die Tabelle enthält zwei Felder: Name und Adresse. Um die E-Mail-Adresse von Bill Gates zu erhalten, können Sie
die folgende Abfrage verwenden:
SELECT email from
email_table WHERE name="Bill Gates"
Wenn diese Abfrage ausgeführt wird, wird Bill aus der Tabelle mit dem Namen email_table gelesen
Gates‘ E-Mail-Adresse. Diese einfache Anweisung besteht aus drei Teilen:
■ Der erste Teil der SELECT-Anweisung benennt die auszuwählende Spalte. In diesem Beispiel ist nur die E-Mail-Spalte ausgewählt. bei der Ausführung
Bei wird nur der Wert der E-Mail-Spalte
billg@microsoft.com angezeigt.
■
Der zweite Teil der SELECTT-Anweisung gibt an, aus welchen Tabellen Daten abgefragt werden sollen. In diesem Beispiel heißt die abzufragende Tabelle email_table.
■
Schließlich gibt die WHERE-Klausel der SELECT-Anweisung die Datensätze an, die die auszuwählenden Bedingungen erfüllen. In diesem Beispiel lautet die Abfragebedingung, dass nur der Wert der Namensspalte Bill Gates ist
Der Datensatz
ist ausgewählt.
Bill Gates hat höchstwahrscheinlich mehr als eine E-Mail-Adresse. Wenn die Tabelle Bill enthält
Mehrere E-Mail-Adressen von Gates. Verwenden Sie die obige SELECT-Anweisung, um alle seine
E-Mail-Adressen zu lesen. Die SELECT-Anweisung ruft alle Namensfelder aus der Tabelle ab, deren Wert Bill ist.
Der Wert des E-Mail-Feldes des Gates-Datensatzes.
Wie bereits erwähnt, können Abfragen logische Operatoren in Abfragebedingungen enthalten. Wenn Sie Bill Gates lesen möchten
Für alle E-Mail-Adressen von Präsident Clinton können Sie die folgende
Abfrageanweisung verwenden:
SELECT email FROM email_table
WHERE name="Bill Gates" OR
name="Präsident
Clinton“
Die Abfragebedingungen in diesem Beispiel sind etwas komplizierter als im vorherigen. Diese Anweisung wählt alle als Bill aufgeführten Namen aus der Tabelle email_table aus
Gates oder die Bilanz von Präsident Clinton. Wenn die Tabelle Bill Gates oder den Präsidenten enthält
Clintons mehrere Adressen, die alle gelesen wurden.
Die Struktur der SELECT-Anweisung sieht sehr intuitiv aus. Wenn Sie einen Freund gebeten haben, für Sie eine Reihe von Datensätzen aus einer Tabelle auszuwählen, könnten Sie Ihre Anfrage auf ganz ähnliche Weise formulieren. in SQL
In einer SELECT-Anweisung wählen Sie „bestimmte Spalten aus einer Tabelle aus, in der bestimmte Spalten eine bestimmte Bedingung erfüllen“.
Im nächsten Abschnitt erfahren Sie, wie Sie eine SQL-Abfrage zur Auswahl von Datensätzen ausführen. Dies wird Ihnen helfen, sich mit den verschiedenen Möglichkeiten zum Abrufen von Daten aus einer Tabelle mithilfe der SELECT-Anweisung vertraut zu machen.