Rumah > Artikel > pangkalan data > fungsi prosedur tersimpan mysql
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:
Kelemahan:
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 ;
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;
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 ;
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);
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!