Stored procedure MYSQL - Creazione, query e inserimento dati

Sommario
Una stored procedure (Store Procedure) è un piccolo algoritmo in linguaggio SQL che viene memorizzato insieme al database e consente di eseguire attività su questi dati.
I vantaggi delle stored procedure sono:
- Loro possono accedere da diversi programmi esterni, in caso di necessità di rendere pubblica la struttura del database.
- Loro possono riutilizzare quindi risparmieremo tempo essendo già programmati e testati.
Usa le stored procedure mysql, con phpmyadmin
Inizieremo il lavoro di creazione e interrogazione di stored procedure con lo strumento phpmyadmin, ma può essere utilizzato chiunque supporti le query SQL a partire da MYSQL 5.0
In questo caso prenderemo il database di un'agenzia di auto o veicoli.
1) Entriamo in phpmyadmin e da lì al database
Esistono 2 tipi di motori che gestiscono i dati in Mysql
  • MyISAM: motore predefinito, molto veloce per le query, non fornisce integrità dei dati o protezione referenziale. Sistemi ideali con molte query
  • InnoDB: fornisce protezione referenziale e integrità dei dati, nonché blocco dei record, ideale se vengono costantemente inserite, modificate o eliminate molte informazioni. Generalmente per le stored procedure è meglio usare InnoDB.

Immagine inviata

Nella scheda SQL creiamo la nostra prima stored procedure per interrogare i tipi di veicolo. Scrivici nel campo di testo di sql.
CREATE PROCEDURE consult_vehicle_type () ---> nome procedura
SELECT * FROM tipo_veicolo ---> SQL da risolvere
Se eseguiamo la query SQL, riceveremo un messaggio di successo al momento della creazione della procedura.
Per vedere le procedure create dalla scheda SQL, consultiamo il comando SHOW PROCEDURE STATUS, che non mostrerà tutte le stored procedure.
Ora mostreremo come eseguire la stored procedure con il comando CALL nome_procedura (Ogni linguaggio di programmazione ha la propria libreria per accedere a una stored procedure, ma sono tutti simili.

Immagine inviata

Qui possiamo vedere il risultato dell'esecuzione della procedura memorizzata CALL pa_vehiculo_type, ha restituito il risultato e nessuno vede quali comandi sono stati eseguiti.

Immagine inviata

Nell'esempio seguente elencheremo i veicoli ma per marca, la procedura sarebbe:
PROCEDURA DI CREAZIONE pa_vehiculos_por_brand (segna varchar (50))
SCELTO DA
veicoli, marche
DOVE vehiculos.brand =marks.id
AND marche.marca = marca
Al nome della procedura aggiungiamo una variabile per poter cercare un esempio di veicoli a marchio Honda
Per eseguire l'esempio chiamiamo la stored procedure in una scheda SQL
CHIAMA pa_vehiculos_por_marca (“Honda”)
CHIAMA pa_vehiculos_por_marca (“Ford”)
È inoltre possibile utilizzare le stored procedure per inserire attività, ad esempio una procedura per registrare i dati di un cliente
PROCEDURA DI CREAZIONE pa_cliente_insertar (
vname VARCHAR (64),
cognome VARCHAR (64)
)
INSERT INTO client (nome, cognome) VALUES (vnome, cognome);
Per usarlo lo chiamiamo come segue
CHIAMA pa_cliente_insertar ('José', 'Gonzales');
Un altro potrebbe essere Controlla numero di province
PROCEDURA DI CREAZIONE `pa_provincias_cantidad` ()
SELEZIONA CONTEGGIO (*) come province DA province
Per eliminare qualsiasi procedura viene utilizzata PROCEDURA DI CADUTA nome_procedura
Chiamate a procedure da diverse lingue.
Nel PHP, assumendo che i dati provengano da un modulo
$ mysqli = nuovo mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");

$ mysqli-> query ("CALL pa_client_insert ('$ nome', '$ cognome')");
Ora eseguiamo la procedura memorizzata in Giava (il codice è stato accorciato)
conn = MySQL Connection.connect ("127,0,0,1", "root", "******", "root");
CallableStatement Procedura = conn.prepareCall ("{CALL pa_customer_insert ('$ nome', '$ cognome'))}");
Procedure.setString ("vname", $ name);
Procedure.setString ("cognome", $ cognome);
Procedura.execute ();
connM.commit ();
In questo modo si dimostra che le stesse procedure sono state utilizzate in ambienti e linguaggi differenti, in modo trasparente per l'utente. L'argomento della procedura è ampio ma chiunque abbia conoscenze di SQL potrà approfondire e raggiungere grandi traguardi con l'utilizzo di stored procedure, potendo così ottimizzare i propri progetti in tempi e sicurezza dei dati.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave