Heim > Datenbank > MySQL-Tutorial > Hauptteil

Grundlagen der SQL-Datenoperationen (Grundkenntnisse) 2

黄舟
Freigeben: 2016-12-17 14:28:11
Original
1228 Leute haben es durchsucht

SELECT-Abfrage mit ISQL ausführen

Bei der Installation von SQL Sever, Sie haben auch eine Anwendung namens ISQL/w installiert. Mit ISQL/w können Sie interaktive SQL-Abfragen durchführen. Bevor Sie die Abfrage in Ihre ASP-Webseite einbinden, ist es sehr nützlich, sie mit ISQL/w zu testen.

Hinweis:

Im ersten Teil dieses Buches haben Sie gelernt, wie Sie Microsoft installieren und konfigurieren SQL-Server. Wenn SQL Server nicht installiert ist oder SQL Server nicht ausgeführt werden kann, lesen Sie bitte Kapitel 3 „Installieren und Verwenden von SQL“. Sever".

Aufgabe in SQL auswählen ISQL_w in der Sever-Programmgruppe, um das Programm zu starten. Beim Start des Programms erscheint zunächst ein Dialogfenster, in dem Sie nach Serverinformationen und Anmeldeinformationen gefragt werden (siehe Abbildung 10.1). Geben Sie im Feld Server den Namen Ihres SQL-Servers ein. Wenn der Server auf Ihrem lokalen Computer ausgeführt wird, ist der Servername der Name Ihres Computers.
Geben Sie im Feld „Anmeldeinformationen“ ein Anmeldekonto und ein Kennwort ein oder wählen Sie die Verwendung einer „vertrauenswürdigen Verbindung“ und klicken Sie dann auf die Schaltfläche „Verbinden“.

Abbildung 10.1





Hinweis:

Wenn Sie SQL verwenden Wenn der Server für die Verwendung voller Sicherheit oder gemischter Sicherheit konfiguriert ist, können Sie vertrauenswürdige Verbindungen verwenden. Wenn Sie Standardsicherheit verwenden, müssen Sie Ihren Benutzernamen und
Passwort angeben. Weitere Informationen finden Sie in Kapitel 3.

Wenn alles gut geht, erscheint nach dem Klicken auf die Schaltfläche „Verbinden“ ein Abfragefenster, wie in Abbildung 10.2 dargestellt. (Bei Auffälligkeiten lesen Sie bitte Kapitel 3)

 

Abbildung 10.2

 

Bevor Sie die Abfrage ausführen, müssen Sie die Datenbank auswählen. Bei der Installation von SQL Server haben Sie eine Datenbank für sich selbst erstellt, SQL Sever verfügt außerdem über viele Systemdatenbanken wie Master, Model, MSDB und TempDB.

Praktischerweise SQL Sever wird mit einer speziellen Beispieldatenbank namens pubs geliefert. Bibliothek pubs enthält Tabellen zur Verwendung durch einen virtuellen Herausgeber. Alle Beispielprogramme im Dokument sind für diese Bibliothek konzipiert. Auch viele Beispiele in diesem Buch nutzen diese Datenbank.

Wählen Sie Datenbankpubs im DB-Dropdown-Feld oben im Abfragefenster aus, damit Sie die Datenbank auswählen. Alle Ihre Abfragen werden für verschiedene Tabellen in dieser Bibliothek ausgeführt. Jetzt können Sie Ihre erste Abfrage ausführen. Das ist so aufregend!

Ihre erste Abfrage richtet sich an eine Tabelle namens autrors, die Daten über alle Autoren enthält, die für einen virtuellen Verlag arbeiten. Klicken Sie auf das Abfragefenster und geben Sie die folgende Anweisung ein:

SELECT Telefon VON Autoren WO au_name="Ringer"

Nachdem die Eingabe abgeschlossen ist, klicken Sie auf die Schaltfläche „Abfrage ausführen“ (ein grünes Dreieck, das wie eine Wiedergabeschaltfläche eines Videorecorders aussieht). Nachdem Sie auf diese Schaltfläche geklickt haben, wird jede im Abfragefenster angezeigte Anweisung ausgeführt
. Das Abfragefenster verwandelt sich automatisch in ein Ergebnisanzeigefenster und Sie können die Ergebnisse der Abfrage sehen (siehe Abbildung 10.3).

Die angezeigten Abfrageergebnisse können sich von den in Abbildung 10.3 gezeigten unterscheiden. in SQL In verschiedenen Sever-Versionen sind die Daten in den Bibliotheks-Pubs unterschiedlich. SQL-Server Für 6.5 findet
zwei Datensätze. Im Ergebnisanzeigefenster sollte folgender Inhalt angezeigt werden:

Telefon

……………….

801 826_0752

801 826_0752

(2 Reihe(n) betroffen)

Abbildung 10.3

 

 

Die von Ihnen ausgeführte SELECT-Anweisung ruft die Telefonnummern aller Autoren namens Ringer aus der Autorentabelle ab. Sie
begrenzen die Ergebnisse einer Abfrage, indem Sie spezielle Auswahlkriterien in der WHERE-Klausel verwenden. Sie können die Auswahlkriterien auch ignorieren und alle Telefonnummern der Autoren der Tabelle entnehmen. Klicken Sie dazu auf die Registerkarte „Abfrage“, kehren Sie zum Abfragefenster zurück und geben Sie die folgende SELECT-Anweisung ein:

SELECT Telefon VON Autoren

Nachdem diese Abfrage ausgeführt wurde, werden alle Telefonnummern in der Autorentabelle abgerufen (in keiner bestimmten Reihenfolge). Wenn die Autorentabelle einhundert Telefonnummern enthält, werden einhundert Datensätze abgerufen. Wenn die Tabelle eine Milliarde Telefonnummern enthält, werden alle eine Milliarde Datensätze abgerufen (dies kann einige Zeit dauern).

Die Felder der Tabellenautoren umfassen Nachname, Vorname, Telefonnummer, Adresse, Stadt, Bundesland und Postleitzahl. Sie können jedes Feld aus der Tabelle abrufen, indem Sie es im ersten Teil der SELECT-Anweisung angeben. Sie können mehrere Felder gleichzeitig in einer SELECT-Anweisung abrufen, z. B.:

SELECT au_fname,au_lname,phone FROM Nach der Ausführung der SELECT-Anweisung des Autors

werden alle Werte dieser drei Spalten abgerufen. Hier ist ein Beispiel für die Ergebnisse dieser Abfrage (um Papier zu sparen, wird nur ein
Teil der Abfrageergebnisse angezeigt und die übrigen Datensätze werden durch Auslassungspunkte ersetzt):

au_fname au_lname Telefon

…………………………………………………………………………………….

Johnson White 408 496_7223

Marjorie Green 415 986_7020

Cheryl Carson 415 548_7723

Michael O’Leary 408 286_2428



(23 Reihe(n) betroffen)

In der SELECT-Anweisung können Sie so viele Felder auflisten, wie Sie benötigen. Vergessen Sie nicht, Feldnamen durch Kommas zu trennen. Sie können auch das Sternchen (*) verwenden, um
alle Felder aus einer Tabelle zu entfernen. Hier ist ein Beispiel mit Sternchen:

SELECT * AUS Autoren

Nachdem die SELECT-Anweisung ausgeführt wurde, werden die Werte aller Felder in der Tabelle abgerufen. Sie werden feststellen, dass Sie in SQL-Abfragen häufig Sternchen verwenden.

Tipp:

Sie können Sternchen verwenden, um die Namen aller Spalten in einer Tabelle anzuzeigen. Schauen Sie sich dazu einfach die Spaltenüberschriften der Abfrageergebnisse an, nachdem Sie die SELECT-Anweisung ausgeführt haben.

Mehrere Tabellen bedienen

Bisher haben Sie nur versucht, eine SQL-Abfrage zum Abrufen von Daten aus einer Tabelle zu verwenden. Sie können auch eine SELECT-Anweisung verwenden, um Daten aus mehreren Tabellen gleichzeitig abzurufen. Geben Sie einfach den Namen der Tabelle an, aus der Sie Daten in der FROM-Klausel der
SELECT-Anweisung abrufen möchten:

WÄHLEN au_lname ,Titel VON Autoren, Titel

Wenn diese SELECT-Anweisung ausgeführt wird, werden gleichzeitig Daten aus der Autorentabelle und der Titeltabelle abgerufen. Holen Sie sich alle Autorennamen aus der Autorentabelle und alle
Buchtitel aus der Titeltabelle. Führen Sie diese Abfrage im ISQL/w-Programm aus und sehen Sie sich die Abfrageergebnisse an. Sie werden einige seltsame und unerwartete Dinge finden: Die Autorennamen stimmen nicht mit den
Büchern überein, von denen sie geschrieben wurden, aber es werden alle möglichen Kombinationen von Autorennamen und Buchtiteln angezeigt, die möglicherweise nicht Ihren Erwartungen entsprechen.

Was ist schief gelaufen? Das Problem besteht darin, dass Sie die Beziehung zwischen den beiden Tabellen nicht angegeben haben. Sie sagen SQL in keiner Weise, wie Tabellen miteinander verknüpft werden sollen. Da der Server nicht weiß, wie er die beiden Tabellen in Beziehung setzen soll, kann er einfach alle möglichen Kombinationen von Datensätzen aus beiden Tabellen zurückgeben.

Um sinnvolle Datensatzkombinationen aus zwei Tabellen auszuwählen, müssen Sie die beiden Tabellen verknüpfen, indem Sie eine Beziehung zwischen den Feldern in den beiden Tabellen herstellen. Eine Möglichkeit hierfür besteht darin, eine dritte
-Tabelle zu erstellen, die speziell dazu dient, die Beziehung zwischen den Feldern der anderen beiden Tabellen zu beschreiben.

Die Autorentabelle verfügt über ein Feld namens au_id, das die eindeutige Identifikation jedes Autors enthält. Die Tabelle „Titel“ verfügt über ein Feld mit dem Namen „title_id“, das die eindeutige Kennung
jedes Buchtitels enthält. Wenn Sie das Feld au_id und das Feld title_id haben können Indem Sie eine Beziehung zwischen ihnen herstellen, können Sie die beiden Tabellen in Beziehung setzen. In der Datenbank pubs gibt es eine
-Tabelle mit dem Namen titleauthor, die zur Vervollständigung dieser Arbeit verwendet wird. Jeder Datensatz in der Tabelle enthält zwei Felder, die zum Zuordnen der Titeltabelle zur Autorentabelle verwendet werden. Die folgende SELECT-Anweisung verwendet die
drei Tabellen, um die richtigen Ergebnisse zu erhalten:

SELECT au_name,title FROM Authors,titles,titleauthor

WHERE Authors.au_id=titleauthor.au_id

UND titles.title_id=titleauthor.title_id

Wenn diese SELECT-Anweisung ausgeführt wird, wird jedem Autor der richtige Buchtitel zugeordnet. Die Tabelle titleauthor gibt die Beziehung zwischen der Tabelle „authors“ und der Tabelle „titles“ an. Dazu wird aus jeder Tabelle ein Feld
eingefügt. Der einzige Zweck der dritten Tabelle besteht darin, Beziehungen zwischen den Feldern der beiden anderen Tabellen herzustellen. Es enthält selbst keine weiteren Daten.

Beachten Sie, wie die Feldnamen in diesem Beispiel geschrieben werden. Um denselben Feldnamen au_id in der Autorentabelle und der Titeltabelle zu unterscheiden, wird jedem Feldnamen das Tabellennamenpräfix
und ein Punkt vorangestellt. Mit dem Namen „author.au_id“. Das Feld gehört zu den Tabellenautoren und das Feld mit dem Namen titleauthor.au_id gehört zur Tabelle titleauthor. Die beiden werden nicht verwechselt
.

Durch die Verwendung einer dritten Tabelle können Sie verschiedene Arten von Beziehungen zwischen den Feldern der beiden Tabellen herstellen. Beispielsweise kann ein Autor viele verschiedene Bücher schreiben, oder ein Buch kann von
vielen verschiedenen Autoren geschrieben werden. Wenn diese „viele-zu-viele“-Beziehung zwischen Feldern in zwei Tabellen besteht, müssen Sie eine dritte Tabelle verwenden, um diese Beziehung anzuzeigen.

Allerdings ist die Beziehung zwischen den beiden Tabellen in vielen Fällen nicht kompliziert. Beispielsweise müssen Sie die Beziehung zwischen den Tabellentiteln und den Tabellenherausgebern angeben. Da ein Titel nicht mit
mehreren Verlagen übereinstimmen kann, benötigen Sie keine dritte Tabelle, um die Beziehung zwischen den beiden Tabellen anzugeben. Um die Beziehung zwischen der Titeltabelle und der Herausgebertabelle anzugeben, müssen Sie lediglich dafür sorgen, dass die beiden Tabellen ein gemeinsames Feld haben. In der Datenbank pubs verfügen die Tabellen titles und editors über ein Feld mit dem Namen pub_id. Wenn Sie eine Liste der Buchtitel
und ihrer Herausgeber erhalten möchten, können Sie die folgende Anweisung verwenden:

SELECT title,pub_name FROM titles,publishers

WHERE titles.pub_id=publishers.pub_id

Wenn ein Buch von zwei Verlagen gemeinsam veröffentlicht wird, benötigen Sie natürlich eine dritte Tabelle, um diese Beziehung darzustellen.

Wenn Sie im Voraus wissen, dass zwischen den Feldern zweier Tabellen eine „viele-zu-viele“-Beziehung besteht, verwenden Sie normalerweise eine dritte Tabelle, um die beiden Tabellen in Beziehung zu setzen. Wenn dagegen nur eine „Eins-zu-Eins“- oder „Eins-zu-Viele“-Beziehung zwischen den Feldern der beiden Tabellen besteht, können Sie ein gemeinsames Feld verwenden, um sie in Beziehung zu setzen.


Das Obige ist der Inhalt von SQL Data Operation Basics (Elementary) 2. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!