fungsi prosedur tersimpan mysql

PHPz
Lepaskan: 2023-05-18 09:24:07
asal
592 orang telah melayarinya

MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas yang membolehkan pembangun menggunakan prosedur dan fungsi tersimpan untuk melanjutkan fungsinya dan meningkatkan prestasi. Dalam artikel ini, kami akan memperkenalkan konsep, kelebihan, kelemahan dan kaedah menulis dan memanggil prosedur dan fungsi disimpan MySQL.

Apakah prosedur dan fungsi yang disimpan MySQL?

Prosedur dan fungsi tersimpan MySQL masing-masing adalah satu set pernyataan SQL yang boleh ditafsirkan oleh penterjemah MySQL dan dilaksanakan pada pelayan pangkalan data. Ia sangat serupa dengan subrutin atau kaedah dalam program, dan ia membenarkan pembangun merangkum logik kod berulang supaya ia boleh digunakan semula dan dipanggil apabila diperlukan.

Perbezaan utama antara prosedur dan fungsi yang disimpan ialah prosedur yang disimpan boleh mempunyai parameter input dan output, manakala fungsi hanya boleh mempunyai parameter output. Prosedur tersimpan sering digunakan sebagai unit logik yang melakukan satu siri operasi, manakala fungsi biasanya digunakan sebagai unit logik yang mengira dan mengembalikan nilai tunggal.

Kebaikan dan Kelemahan

Mari kita lihat kelebihan dan kekurangan menggunakan prosedur dan fungsi tersimpan dalam MySQL:

Kebaikan:

  1. Tingkatkan prestasi. Prosedur dan fungsi yang disimpan boleh dilaksanakan dalam DBMS tanpa memindahkan data melalui rangkaian. Ini boleh meningkatkan prestasi, terutamanya dengan penggunaan berat.
  2. Guna semula kod. Prosedur dan fungsi yang disimpan boleh digunakan semula oleh aplikasi yang berbeza.
  3. Tingkatkan keselamatan data. Prosedur dan fungsi yang disimpan menyediakan pengurusan dan kawalan yang lebih baik terhadap akses kepada data.
  4. Memudahkan operasi yang kompleks. Prosedur tersimpan boleh mengandungi beberapa pertanyaan kompleks dan operasi data, merangkum berbilang pernyataan SQL dalam blok kod, menjadikan kod lebih ringkas dan lebih mudah untuk diselenggara.

Kelemahan:

  1. Lebih sukar untuk menulis dan nyahpepijat. Prosedur dan fungsi yang disimpan secara amnya memerlukan lebih banyak masa penulisan dan penyahpepijatan kerana ia mungkin melibatkan banyak pernyataan dan logik SQL yang kompleks.
  2. Pelayan sedang berjalan. Prosedur dan fungsi tersimpan dilaksanakan dalam DBMS, yang bermaksud bahawa ia tidak boleh dipanggil terus oleh klien dan perlu dijalankan pada pelayan MySQL.
  3. Kemudahalihan yang dikurangkan. Prosedur dan fungsi yang disimpan ialah ciri khusus MySQL, yang boleh mengurangkan kemudahalihan aplikasi.

Bagaimana untuk menulis dan memanggil prosedur dan fungsi tersimpan MySQL?

Menulis prosedur dan fungsi tersimpan boleh dicapai menggunakan perisian klien MySQL seperti MySQL Workbench, Navicat untuk MySQL, atau terus melalui terminal baris arahan.

Di bawah ini kami akan menunjukkan cara menulis dan memanggil prosedur dan fungsi tersimpan dalam klien MySQL:

Menulis prosedur tersimpan:

Buat prosedur tersimpan mudah untuk mendapatkan tertentu bilangan baris dalam jadual dan mengembalikan hasilnya:

DELIMITER //

CREATE PROCEDURE get_row_count(IN table_name VARCHAR(255), OUT row_count INT)
BEGIN
  SELECT COUNT(*) INTO row_count FROM table_name;
END //

DELIMITER ;
Salin selepas log masuk

Dalam prosedur tersimpan di atas, kami menentukan parameter input table_name dan parameter output row_count. Dalam badan prosedur tersimpan, kami menanyakan jumlah bilangan baris dalam jadual table_name dan menyimpan keputusan dalam parameter row_count.

Memanggil prosedur tersimpan:

Memanggil prosedur tersimpan adalah sangat mudah, hanya gunakan pernyataan CALL:

SET @row_count = NULL;
CALL get_row_count('my_table', @row_count);
SELECT @row_count;
Salin selepas log masuk

Dalam contoh ini, kami mula-mula mengisytiharkan dan memulakan pembolehubah @ row_count, dan kemudian menggunakan pernyataan CALL untuk memanggil prosedur tersimpan yang baru kami buat dan menyimpan hasilnya dalam pembolehubah @row_count. Akhir sekali, kami menggunakan pernyataan SELECT untuk memaparkan keputusan prosedur yang disimpan.

Menulis fungsi:

Sekarang kita akan mencipta fungsi mudah yang mengira hasil tambah dua nombor dan mengembalikan hasilnya:

DELIMITER //

CREATE FUNCTION add_numbers(x INT, y INT)
RETURNS INT
BEGIN
  RETURN x + y;
END //

DELIMITER ;
Salin selepas log masuk

Dalam contoh di atas, kita tentukan Terdapat ialah fungsi add_numbers yang menerima dua integer x dan y sebagai parameter dan mengembalikan jumlah kedua-dua parameter ini.

Memanggil fungsi:

Untuk memanggil fungsi, kami hanya menggunakan nama fungsi dan parameter yang diperlukan dalam pernyataan SELECT:

SELECT add_numbers(1, 2);
Salin selepas log masuk

Dalam contoh di atas, Kami memanggil add_numbers berfungsi dan diluluskan dalam dua parameter 1 dan 2. Fungsi mengembalikan hasil 3, dan pernyataan SELECT akan mencetak hasil ini.

Ringkasan

Prosedur dan fungsi tersimpan meningkatkan kefungsian MySQL, membolehkan kami mengurus dan mengawal akses kepada pangkalan data dengan lebih baik, meningkatkan kecekapan pelaksanaan dan memudahkan operasi pertanyaan. Kami mempelajari konsep, kelebihan dan kekurangan prosedur dan fungsi tersimpan MySQL, dan cara menulis dan memanggilnya. Dengan mempelajari dan mempraktikkan prosedur dan fungsi tersimpan, pembangun boleh bekerja dengan lebih baik dalam persekitaran MySQL dan menyediakan penyelesaian yang lebih berkuasa.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan