Rumah >pangkalan data >tutorial mysql >Artikel yang menerangkan prosedur tersimpan dalam mysql

Artikel yang menerangkan prosedur tersimpan dalam mysql

PHPz
PHPzasal
2023-04-17 15:26:04618semak imbas

Prosedur tersimpan ialah teknologi yang biasa digunakan dalam sistem pangkalan data Intipatinya adalah untuk meningkatkan prestasi sistem aplikasi pangkalan data, mengurangkan kesukaran pembangunan sistem aplikasi dan meningkatkan keselamatan. MySQL ialah sistem pengurusan pangkalan data hubungan popular yang menyokong prosedur tersimpan.

Pengenalan kepada prosedur tersimpan MySQL
Prosedur tersimpan MySQL ialah pernyataan SQL yang telah disusun dan disimpan pada pelayan MySQL Ia boleh menerima parameter, menggunakan pembolehubah, mengandungi struktur kawalan dan melaksanakan logik yang kompleks. Operasi boleh mengembalikan hasil. Kelebihan prosedur tersimpan termasuk:

  1. Meningkatkan prestasi aplikasi: Prosedur tersimpan disusun dan disimpan dalam pangkalan data dan boleh dipanggil berulang kali oleh berbilang aplikasi, mengurangkan masa untuk penyusunan berulang dan tafsiran atur cara.
  2. Meningkatkan keselamatan aplikasi: Prosedur tersimpan boleh menyekat akses kepada jadual dan hanya membenarkan akses kepada pengguna yang menggunakan prosedur tersimpan.
  3. Memudahkan penulisan aplikasi: Aplikasi tidak perlu menulis pernyataan SQL yang kompleks, mereka hanya perlu memanggil prosedur tersimpan.
  4. Kurangkan beban pelayan: Proses tersimpan dilaksanakan pada bahagian pelayan, yang boleh mengurangkan tekanan penghantaran data rangkaian dan mengurangkan beban pada klien.

Format sintaks prosedur disimpan MySQL
Format sintaks prosedur disimpan MySQL adalah seperti berikut:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name datatype[(size)]) [NOT DEMETER] routine_body

Di mana:

PROSEDUR CIPTA bermaksud mencipta prosedur tersimpan.

procedure_name ialah nama prosedur yang disimpan dan mestilah unik.

IN |. OUT |. IN mewakili parameter input (lalai), OUT mewakili parameter output, dan INOUT mewakili kedua-dua parameter input dan parameter output.

parameter_name ialah nama parameter dan mestilah unik.

datatype[(saiz)] ialah jenis data dan panjang parameter dan boleh diabaikan.

NOT DEMETER adalah pilihan, menunjukkan bahawa prosedur yang disimpan tidak boleh menggunakan data dalam transaksi lain.

routine_body ialah badan utama prosedur tersimpan, termasuk pernyataan SQL dan struktur kawalan.

Contoh prosedur tersimpan MySQL
Berikut ialah contoh prosedur tersimpan MySQL Fungsinya adalah untuk melaksanakan operasi sisipan, pemadaman, pengubahsuaian dan pertanyaan maklumat pelajar.

CREATE PROCEDURE student_info(IN s_add INT, IN s_name VARCHAR(20), IN s_age INT, IN s_gender VARCHAR(10), IN s_id INT, OUT result INT)
BEGIN
DECLARE flag INT DEFAULT 0;
IF(s_add = 1) THEN
    INSERT INTO students VALUES(s_id, s_name, s_age, s_gender);
ELSEIF(s_add = 2) THEN
    UPDATE students SET name = s_name, age = s_age, gender = s_gender WHERE id = s_id;
ELSEIF(s_add = 3) THEN
    DELETE FROM students WHERE id = s_id;
ELSEIF(s_add = 4) THEN
    SELECT * FROM students WHERE name = s_name;
ELSE
    SET flag = 1;
END IF;
IF(flag = 0) THEN
    SET result = 0;
ELSE
    SET result = 1;
END IF;
END

Melalui proses penyimpanan di atas, penambahan, pemadaman, pengubahsuaian dan pertanyaan maklumat pelajar dapat direalisasikan. Apabila memanggil prosedur tersimpan, anda perlu memasukkan parameter s_add (jenis operasi), s_name (nama), s_age (umur), s_gender (jantina), s_id (ID pelajar), dan dapatkan keputusan parameter output (hasil pelaksanaan) .

Ringkasan
Prosedur tersimpan MySQL ialah teknologi aplikasi pangkalan data yang cekap yang boleh meningkatkan prestasi dan keselamatan aplikasi, memudahkan penulisan aplikasi dan mengurangkan beban pelayan. Melalui pengenalan di atas, kita dapat memahami sintaks asas dan penggunaan prosedur tersimpan MySQL. Saya harap ia dapat membantu semua orang.

Atas ialah kandungan terperinci Artikel yang menerangkan prosedur tersimpan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn