PHP kann als beliebte serverseitige Skriptsprache viele verschiedene Datentypen und Datenbanken zusammenführen. Gerade bei der Entwicklung von Webanwendungen ist es oft notwendig, auf Datenbanken zuzugreifen, um Daten abzurufen und zu manipulieren. Dieser Artikel konzentriert sich auf PHP-Datenbankabfrageanweisungen.
1. Was ist eine Datenbankabfrageanweisung?
Während des Betriebs der Datenbank müssen wir häufig Daten aus der Datenbank abrufen. Zu diesem Zeitpunkt müssen wir Abfrageanweisungen verwenden. Bei einer Datenbankabfrage (SQL-Abfrage) handelt es sich um eine Reihe von Anweisungen zum Abrufen von Daten aus einer Datenbank. SQL ist die Abkürzung für Structured Query Language, eine Sprache, die häufig in relationalen Datenmanagementsystemen (RDBMS) für den Zugriff auf und den Betrieb von Datenbanken verwendet wird.
In PHP können wir verschiedene Funktionen nutzen, um auf verschiedene Arten von Datenbanken zuzugreifen. PHP unterstützt MySQL, PostgreSQL, Oracle und andere Datenbanken. Jede Datenbank verfügt über leicht unterschiedliche Abfrageanweisungen, die jedoch grundsätzlich in der SQL-Sprache implementiert werden.
2. Die Struktur der Abfrageanweisung
Eine einfache Abfrageanweisung besteht normalerweise aus drei Teilen: SELECT, FROM und WHERE. Geben Sie in SELECT die abzurufenden Spalten an; in FROM geben Sie den Namen der Tabelle an; in der WHERE-Klausel geben Sie die Suchbedingungen an.
Das Folgende ist die grundlegende Struktur der Abfrageanweisung:
SELECT Spalte1, Spalte2, ...
FROM Tabelle
WHERE-Bedingung;
Spalte stellt den abzurufenden Spaltennamen dar, und mehrere Spaltennamen werden durch Kommas getrennt. Normalerweise wird anstelle von Spaltennamen ein * (Sternchen) verwendet, um die Auswahl aller Spalten anzuzeigen.
Tabelle gibt den Namen der Tabelle an, die bedient werden muss.
condition ist eine optionale Option, die die Bedingungen und Einschränkungen für das Abrufen von Datensätzen angibt und logische Operatoren (wie AND, OR usw.) zum Verbinden verwendet.
Zum Beispiel ruft das folgende Beispiel Datensätze in der Tabelle „Benutzer“ ab, wobei die Benutzernamen- und E-Mail-Felder „admin“ und das Kennwortfeld „123“ lauten:
SELECT Benutzername, E-Mail, Passwort
FROM Benutzer
WHERE Benutzername = 'admin' AND password = '123';
Bei einigen komplexeren Abfrageanforderungen reicht die einfache Verwendung von SELECT, FROM und WHERE jedoch möglicherweise nicht aus. In diesem Fall müssen Sie erweiterte Abfrageanweisungen verwenden, z als JOIN-Anweisungen und Unterabfragen. Dies wird in einem späteren Kapitel behandelt.
3. Verarbeitung der Abfrageergebnisse
Das von der Abfrageanweisung zurückgegebene Ergebnis ist normalerweise eine Tabelle mit mehreren Zeilen, wobei jede Zeile den entsprechenden Datensatz darstellt. Für PHP-Anwendungsentwickler ist ein Tabelleneintrag ein Array und der Inhalt jeder Zelle ist ein Element im Array. Die Verarbeitung der Abfrageergebnisse umfasst drei Teile:
Verwenden Sie mysqli_query und PDO::query in PHP, um Abfrageanweisungen auszuführen und Ergebnismengen zurückzugeben. Zum Beispiel:
$query = „SELECT Benutzername, E-Mail, Passwort von Benutzern WHERE Benutzername = ‚admin‘ UND Passwort = ‚123‘“;
$result = mysqli_query($connection, $query);
Verwenden Sie mysqli_fetch_assoc, PDO::fetch und andere Funktionen, um Daten aus der Ergebnismenge zu extrahieren. Zum Beispiel:
while ($row = mysqli_fetch_assoc($result)) {
echo "username: " . $row["username"] . " email: " . $row["email"] . " password: " . $row["password"];
}
Wenn Sie in PHP mit der Verwendung des Ergebnissatzes fertig sind, sollten Sie die Funktion mysqli_free_result oder PDOStatement::closeCursor verwenden, um den Ergebnissatz freizugeben, um eine Verschwendung von Ressourcen zu vermeiden. Zum Beispiel:
mysqli_free_result($result);
4. Erweiterte Abfragetechnologie
Die JOIN-Anweisung kann zwei oder mehr Tabellen zusammenfügen, um eine neue, große Tabelle zu erstellen. Zu den gängigen JOIN-Anweisungen gehören Inner-Joins, Outer-Joins (Links-Joins und Rechts-Joins), Self-Joins usw.
INNER JOIN: Es werden nur Datensätze zurückgegeben, die die Bedingungen in den beiden Tabellen erfüllen. Das heißt, beim Verbinden zweier Tabellen werden nur die gleichen Werte in beiden Tabellen abgerufen.
Zum Beispiel:
SELECT Aufträge.OrderID, Kunden.CustomerName, Aufträge.OrderDate
FROM Aufträge
INNER JOIN Kunden
ON Aufträge.CustomerID=customers.CustomerID;
Diese Abfrage gibt alle Kunden in der Auftragstabelle (Aufträge) zurück ) Die mit der Tabelle verknüpfte Reihenfolge (Kunden), wobei das innere Join-Symbol JOIN oder INNER JOIN ist und das Schlüsselwort ON die Bedingungen für den Primärschlüssel/Fremdschlüssel des Links angibt.
Unterabfrage bezieht sich auf das Einbetten einer SQL-Abfrage in eine andere SQL-Anweisung. Typischerweise werden Unterabfragen verwendet, um die Ergebnismenge der Hauptabfrage einzuschränken. Unterabfragen können in mehreren Abfragen verschachtelt sein, was als verschachtelte Abfragen bezeichnet wird.
Zum Beispiel:
SELECT AVG(DISTINCT Price) FROM Products
WHERE ProductName IN (SELECT ProductName FROM Orders WHERE CustomerID=1);
Diese Abfrage gibt den Durchschnittspreis aller vom Kunden mit der ID 1 bestellten Produkte zurück. Das ist eigentlich: Verwenden Sie die Unterabfrageliste, um alle von Kunde 1 gekauften Produkte abzufragen, und fügen Sie dann eine AVG-Funktion hinzu, um den Durchschnitt zu berechnen.
Die UNION-Anweisung kombiniert die Ergebnismengen von zwei oder mehr SELECT-Anweisungen (die Ergebnisse müssen dieselben Felder haben, daher werden sie manchmal mit Aliasen deklariert) und entfernt doppelte Zeilen in der Ergebnismenge. Das Format der UNION-Anweisung ist wie folgt:
SELECT Spaltenname(n) FROM Tabelle1
UNION
SELECT Spaltenname(n) FROM Tabelle2;
Zum Beispiel:
SELECT ProductName FROM Products
UNION
SELECT ProductName FROM Lieferanten
ORDER BY ProductName;
Diese Abfrage gibt alle Produktnamen zurück, einschließlich der Ergebnisse aus der Abfrage von Lieferanten (Suppliers) und Produkten (Products), entfernt Duplikate und sortiert nach Namen.
Zusammenfassung
Dieser Artikel zielt darauf ab, PHP-Datenbankabfrageanweisungen vorzustellen, wobei der Schwerpunkt auf der Struktur von Abfrageanweisungen und Verarbeitungsmethoden für Abfrageergebnisse sowie häufig verwendeten erweiterten Abfragetechnologien, einschließlich JOIN, Unterabfragen und UNION-Anweisungen, liegt. Durch den richtigen Einsatz dieser fortschrittlichen Abfragetechnologien können die erforderlichen Daten effizienter aus der Datenbank abgerufen werden.
Das obige ist der detaillierte Inhalt vonKonzentrieren Sie sich auf PHP-Datenbankabfrageanweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!