This post will cover how to create Stored Procedures using PHP My Admin. Next part will cover how to execute Stored Procedures using Laravel.
First of all what is Stored Procedure?
A stored procedure is a prepared SQL code that you can save, so the code can be reused over and over again.
You can pass parameters to the stored procedure to get data based on Dynamic values.
Step -1 : Open PHP My Admin and select the database to create stored procedure
Step -2 : Go to Routines menu & Click on Add routine.
Step -3 : By Clicking on Add Routine Link, PHPMyAdmin will open Pop-up.
Step -4 : Follow the steps and create stored procedure.Create stored procedure to get data from users table[ Without Parameters] .
Stored procedure Without Parameters
CREATE PROCEDURE `GerUsers`[] NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN Select * From users; END
Stored Procedure with Parameters
CREATE PROCEDURE `GetUserByEmail`[IN `uEmail` VARCHAR[255]] NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN select * from users where email = uEmail; END
Execute Stored Procedure from PHP MyAdmin
PHP MyAdmin will display list of created Stored Procedures.
Click on Execute link to Run Specific Stored Procedure.
Procedure without parameters will directly Run Query and list out the data Procedure parameters will open Pop up to add parameters, then Run Procedure and get result data.
That’s it. Hope this article helps you guys to understand how to mange Stored Procedure Using PHP My Admin. In the Next article I will explain how to Execute Stored Procedure In Laravel Framework.
Part 2 : //medium.com/@nishitvmaheta/how-to-execute-stored-procedure-using-laravel-8d067c306154
Stored Procedure adalah sebuah fungsi berisi kode SQL yang dapat digunakan kembali. Dalam Stored Procedure juga dapat dimasukkan parameter sehingga fungsi dapat digunakan lebih dinamis berdasarkan parameter tersebut Cara penulisan Stored Procedure Sedangkan untuk menjalankan Stored procedure adalah Sebelum mencoba menggunakan Stored Procedure kita harus
mempunyai table yang siap digunakanDELIMITER $$
CREATE PROCEDURE nama_procedure[]
BEGIN
kode sql
END$$
DELIMITER ;
CALL nama_procedure[];
Hands ON
Referensi contoh membuat table dan record dapat dibaca di materi DDL dan DML
Buat table mahasiswa dan isi nilainya
CREATE TABLE mahasiswa [ nim INT[10], nama VARCHAR[100], alamat VARCHAR[100], PRIMARY KEY[nim] ]; INSERT INTO mahasiswa VALUES [21400200,"faqih","bandung"], [21400201,"ina","jakarta"], [21400202,"anto","semarang"], [21400203,"dani","padang"], [21400204,"jaka","bandung"], [21400205,"nara","bandung"], [21400206,"senta","semarang"];
> SELECT * FROM mahasiswa; +----------+-------+----------+ | nim | nama | alamat | +----------+-------+----------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400204 | jaka | bandung | | 21400205 | nara | bandung | | 21400206 | senta | semarang | +----------+-------+----------+ 7 rows in set [0.00 sec]
Membuat Stored Procedure selectMahasiswa[] untuk mendapatkan seluruh NIM dan NAM mahasiswa
DELIMITER $$ CREATE PROCEDURE selectMahasiswa[] BEGIN SELECT nim, nama FROM mahasiswa; END$$ DELIMITER ;
Untuk memanggil Stored Procedure selectMahasiswa[]
Hasilnya adalah
> CALL selectMahasiswa[]; +----------+-------+ | nim | nama | +----------+-------+ | 21400200 | faqih | | 21400201 | ina | | 21400202 | anto | | 21400203 | dani | | 21400204 | jaka | | 21400205 | nara | | 21400206 | senta | +----------+-------+ 7 rows in set [0.00 sec]
Jadi, setiap ingin menampilkan NIM dan NAMA mahasiswa kita tidak perlu membuat kode SQL seperti biasanya. Cukup simpan kode SQL di Stored Procedure dan bisa kita panggil dan gunakan berulang – ulang
Stored Procedure dengan ParameterKita juga memasukkan parameter di Stored Procedure agar menjadi lebih dinamis
Contoh, kita ingin membuat kode SQL untuk mencari data mahasiswa berdasarkan alamat.
DELIMITER $$ CREATE PROCEDURE alamatMahasiswa [ alamatMhs VARCHAR[100] ] BEGIN SELECT * FROM mahasiswa WHERE alamat = alamatMhs; END$$ DELIMITER ;
Di dalam nama Stored Procedure terdapat parameter alamatMhs dengan tipe data varchar
Saat masuk ke kode SQL yaitu mencari mahasiswa dengan alamat yang sama dengan parameter yang diinputkan
Cara memanggilnya adalah
CALL alamatMahasiswa["bandung"]
Hasilnya
> CALL alamatMahasiswa["bandung"]; +----------+-------+---------+ | nim | nama | alamat | +----------+-------+---------+ | 21400200 | faqih | bandung | | 21400204 | jaka | bandung | | 21400205 | nara | bandung | +----------+-------+---------+ 3 rows in set [0.00 sec]
Dengan Stored Procedure alamatMahasiswa[] kita mencari data mahasiswa yang berasal dari “bandung”
DML dengan Stored ProcedureStored Procedure tidak hanya bisa diterapkan di Data Query Language [DQL] tetapi juga Data Manipulation Language [DML]
Misal kita ingin memasukkan data mahasiswa dengan Stored Procedure
DELIMITER $$ CREATE PROCEDURE insertMahasiswa [ nimMhs INT[10], namaMhs VARCHAR[100], alamatMhs VARCHAR[100] ] BEGIN INSERT INTO mahasiswa VALUES [nimMhs, namaMhs, alamatMhs]; END$$ DELIMITER ;
Jika kita ingin memasukkan record baru di table mahasiswa maka akan ada 3 parameter saat memanggil Stored Procedure insertMahasiswa[]
> CALL insertMahasiswa[21400207,"joni","jakarta"]; Query OK, 1 row affected [0.05 sec] > SELECT * FROM mahasiswa; +----------+-------+----------+ | nim | nama | alamat | +----------+-------+----------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400204 | jaka | bandung | | 21400205 | nara | bandung | | 21400206 | senta | semarang | | 21400207 | joni | jakarta | +----------+-------+----------+ 8 rows in set [0.00 sec]
Selanjutnya jika ingin memasukkan data mahasiswa ke table mahasiswa tidak perlu membuat kode INSERT berkali-kali. Kita bisa gunakan Stored Procedure insertMahasiswa[] untuk menggantikan proses INSERT yang biasanya kita gunakan
Jadi Stored Procedure sangat penting dan akan memudahkan dalam menggunakan kode yang ingin dieksekusi secara berulang – ulang.
Materi MySQL dibagi menjadi beberapa artikel:
Cara Install XAMPP di Windows dan Linux
Belajar MySQL Dasar : Tutorial MySQL untuk Pemula
Belajar MySQL Dasar : Memahami perintah
DDL
Belajar MySQL Dasar : Memahami perintah DML
Belajar MySQL Dasar : Memahami perintah DQL
Belajar MySQL Dasar : Memahami perintah DCL
Belajar MySQL Dasar
: Memahami perintah TCL
Belajar MySQL Lanjut : Cara Menggunakan JOIN
Belajar MySQL Lanjut : Cara Membuat Stored Procedure
Belajar MySQL Lanjut : Cara Membuat
VIEW
Belajar MySQL Lanjut : Cara Membuat TRIGGER
Belajar MySQL Lanjut : DDL MySQL dengan Python
Belajar MySQL Lanjut : DML MySQL dengan
Python
Belajar MySQL Lanjut : DQL MySQL dengan Python