MYSQL Stored Procedures - Erstellung, Abfragen und Dateneinfügungen

Inhaltsverzeichnis
Eine Stored Procedure (Store Procedure) ist ein kleiner Algorithmus in SQL-Sprache, der zusammen mit der Datenbank gespeichert wird und die Ausführung von Aufgaben mit diesen Daten ermöglicht.
Die Vorteile gespeicherter Prozeduren sind:
- Sie können zugreifen aus verschiedenen externen Programmen, wenn die Datenbankstruktur öffentlich gemacht werden muss.
- Sie können Wiederverwendung Daher sparen wir Zeit, indem wir bereits programmiert und getestet sind.
Verwenden Sie gespeicherte MySQL-Prozeduren mit phpmyadmin
Wir werden mit dem Erstellen und Abfragen von gespeicherten Prozeduren mit dem phpmyadmin-Tool beginnen, aber jeder, der SQL-Abfragen ab MYSQL 5.0 unterstützt, kann verwendet werden
In diesem Fall nehmen wir die Datenbank einer Auto- oder Fahrzeugagentur.
1) Wir geben phpmyadmin ein und von dort zur Datenbank
Es gibt 2 Arten von Engines, die Daten in Mysql . verarbeiten
  • MeinISAM: Standard-Engine, sehr schnell für Abfragen, bietet weder Datenintegrität noch referenziellen Schutz. Ideale Systeme mit vielen Fragen
  • InnoDB: bietet referenziellen Schutz und Datenintegrität sowie Datensatzsperrung, ideal, wenn ständig viele Informationen eingefügt, bearbeitet oder gelöscht werden. Im Allgemeinen ist es für gespeicherte Prozeduren besser, InnoDB zu verwenden.

Bild gesendet

Im Reiter SQL erstellen wir unsere erste Stored Procedure zur Abfrage der Fahrzeugtypen. Schreiben Sie uns in das Textfeld von sql.
CREATE PROCEDURE consult_vehicle_type () ---> Prozedurname
SELECT * FROM Fahrzeugtyp ---> SQL zum Auflösen
Wenn wir die SQL-Abfrage ausführen, erhalten wir beim Erstellen der Prozedur eine Erfolgsmeldung.
Um die von der Registerkarte SQL erstellten Prozeduren anzuzeigen, verwenden Sie den Befehl SHOW PROCEDURE STATUS, der nicht alle gespeicherten Prozeduren anzeigt.
Jetzt zeigen wir, wie Sie die Stored Procedure mit dem Befehl ausführen CALL procedure_name (Jede Programmiersprache hat ihre eigene Bibliothek, um auf eine gespeicherte Prozedur zuzugreifen, aber sie sind alle ähnlich.

Bild gesendet

Hier sehen wir das Ergebnis der Ausführung der gespeicherten CALL-Prozedur pa_vehiculo_type, sie hat das Ergebnis zurückgegeben und niemand sieht, welche Befehle ausgeführt wurden.

Bild gesendet

Im folgenden Beispiel werden wir Fahrzeuge auflisten, aber nach Marke, wäre die Vorgehensweise:
ERSTELLUNGSVERFAHREN pa_vehiculos_por_brand (Markierung varchar (50))
WÄHLEN AUS
Fahrzeuge, Marken
WO vehiculos.brand = marks.id
UND Marken.Marke = Marke
Zum Namen des Verfahrens fügen wir eine Variable hinzu, um nach einem Beispiel von Honda-Markenfahrzeugen suchen zu können
Um das Beispiel auszuführen, rufen wir die gespeicherte Prozedur in einem SQL-Tab auf
ANRUF pa_vehiculos_por_marca („Honda“)
ANRUF pa_vehiculos_por_marca („Ford“)
Sie können die gespeicherten Prozeduren auch zum Einfügen von Aufgaben verwenden, beispielsweise eine Prozedur, um Daten von einem Kunden aufzuzeichnen
ERSTELLUNGSVERFAHREN pa_cliente_insertar (
vname VARCHAR (64),
Nachname VARCHAR (64)
)
INSERT INTO Client (Name, Nachname) VALUES (Vname, Nachname);
Um es zu verwenden, nennen wir es wie folgt
CALL pa_cliente_insertar ('José', 'Gonzales');
Eine andere könnte die Anzahl der Provinzen überprüfen
ERSTELLUNGSVERFAHREN `pa_provincias_cantidad` ()
ANZAHL AUSWÄHLEN (*) als Provinzen VON Provinzen
Um jedes Verfahren zu eliminieren, wird verwendet DROP-VERFAHREN Prozedurname
Aufrufe von Prozeduren aus verschiedenen Sprachen.
In PHP, vorausgesetzt, die Daten stammen aus einem Formular
$ mysqli = new mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");

$ mysqli-> query ("CALL pa_client_insert ('$ Vorname', '$ Nachname')");
Jetzt führen wir die Prozedur aus, die in gespeichert ist Java (der Code wurde gekürzt)
conn = MySQL Connection.connect ("127,0,0,1", "root", "*******", "root");
CallableStatement-Prozedur = conn.prepareCall ("{CALL pa_customer_insert ('$ Vorname', '$ Nachname'))}");
Prozedur.setString ("vname", $name);
Prozedur.setString ("Nachname", $ Nachname);
Prozedur.execute ();
connM.commit();
Auf diese Weise wird für den Benutzer transparent gezeigt, dass die gleichen Verfahren in verschiedenen Umgebungen und Sprachen verwendet wurden. Das Thema Prozeduren ist umfangreich, aber jeder mit SQL-Kenntnissen wird in der Lage sein, den Einsatz von Stored Procedures zu untersuchen und große Erfolge zu erzielen und so seine Projekte in Bezug auf Zeit und Datensicherheit zu optimieren.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave