Rumah >pangkalan data >tutorial mysql >fungsi prosedur mysql
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, yang menyediakan pelbagai fungsi dan prosedur untuk digunakan oleh pengguna. Antaranya, prosedur dan fungsi MySQL adalah program yang ditulis dalam pelayan pangkalan data. Dalam artikel ini, kita akan mendalami pengetahuan asas, penggunaan dan contoh fungsi prosedur MySQL.
1. Pengetahuan asas tentang fungsi prosedur MySQL
Prosedur MySQL ialah koleksi pernyataan SQL yang boleh menerima parameter dan melaksanakan parameter Input melakukan sesuatu tindakan. Prosedur MySQL boleh dianggap sebagai penyata SQL terkapsul Mereka boleh melaksanakan berbilang penyataan SQL untuk mencapai fungsi tertentu.
Proses MySQL mempunyai ciri-ciri berikut:
(1) Proses MySQL dilaksanakan pada bahagian pelayan.
(2) Prosedur MySQL boleh menerima parameter input dan mengembalikan parameter output.
(3) Prosedur MySQL boleh membuat dan mengemas kini jadual, memasukkan dan mengemas kini data dalam pangkalan data.
(4) Prosedur MySQL boleh mengandungi penyataan aliran kawalan, gelung, cawangan dan pengendali pengecualian.
(5) Proses MySQL menyokong fungsi dan sub-proses yang ditentukan pengguna.
Fungsi MySQL ialah satu set pernyataan pertanyaan tunggal yang ditakrifkan dalam MySQL. Mereka menerima satu atau lebih parameter input dan mengembalikan satu atau lebih nilai. Fungsi boleh digunakan untuk mengira, membandingkan, mengubah dan memanipulasi data.
Fungsi MySQL mempunyai ciri-ciri berikut:
(1) Fungsi MySQL dilaksanakan pada bahagian pelayan.
(2) Fungsi MySQL boleh menerima parameter input dan mengembalikan parameter output.
(3) Fungsi MySQL hanya boleh mengembalikan satu nilai dan tidak boleh melakukan operasi seperti memasukkan, mengemas kini dan memadam.
(4) Fungsi MySQL tidak boleh mengandungi penyataan aliran kawalan, gelung, cawangan dan pengendali pengecualian.
(5) Fungsi MySQL menyokong fungsi dan sub-fungsi yang ditentukan pengguna.
2. Cara menggunakan fungsi proses MySQL
Dalam MySQL, pengguna boleh menggunakan kenyataan CREATE PROCEDURE dan CREATE FUNCTION untuk mencipta prosedur dan fungsi.
Berikut ialah sintaks untuk mencipta prosedur MySQL:
CIPTA PROCEDURE procedure_name ([parameter])
MULAKAN
[SQL statements]
END;
Antaranya, procedure_name ialah nama prosedur, parameter ialah senarai parameter prosedur, dan pernyataan SQL ialah pernyataan MySQL yang akan dilaksanakan semasa prosedur.
Sebagai contoh, kami mencipta prosedur MySQL mudah yang menerima dua parameter input dan mengembalikan jumlahnya:
BUAT PROSEDUR tambah(DALAM INT, DALAM b INT)
BERMULA
SELECT a+b;
END;
Berikut ialah sintaks untuk mencipta fungsi MySQL:
CREATE FUNCTION function_name([parameters ]) RETURNS data_type
BEGIN
[SQL statements]
END;
Di mana, function_name ialah nama fungsi, parameter ialah senarai parameter fungsi, data_type ialah jenis data yang dikembalikan oleh fungsi, dan pernyataan SQL ialah Pernyataan MySQL yang akan dilaksanakan dalam fungsi tersebut.
Sebagai contoh, kami mencipta fungsi MySQL ringkas yang mengambil parameter input dan mengembalikan segi empat sama:
BUAT FUNGSI segi empat sama(x INT) RETURNS INT
MULA
RETURN x*x;
END;
3. Contoh fungsi prosedur MySQL
Berikut ialah contoh prosedur MySQL yang ringkas dan nombor baris dalam pangkalan data semasa ke konsol:
CREATE PROCEDURE table_count()
BEGIN
DECLARE done INT DEFAULT FALSE; DECLARE t_name CHAR(32); DECLARE t_count INT; DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE(); DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; repeat FETCH cur INTO t_name; IF NOT done THEN SET @sql = CONCAT('SELECT COUNT(*) INTO "', t_name, '_count" FROM ', t_name); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @out = CONCAT(t_name, ': ', t_name, '_count'); SELECT @out; END IF; until done END REPEAT; CLOSE cur;
END;
Dalam proses di atas, kami menggunakan kursor untuk melintasi semua jadual dalam pangkalan data, dan gunakan SQL dinamik untuk mendapatkan bilangan baris dalam setiap jadual dan mengeluarkannya ke konsol.
Berikut ialah contoh fungsi MySQL mudah yang menerima rentetan dan mengembalikan huruf pertama setiap perkataan di dalamnya:
CIPTA FUNGSI get_initials(str VARCHAR(255)) MENGEMBALIKAN VARCHAR(255)
BERMULA
DECLARE len INT DEFAULT 0; DECLARE i INT DEFAULT 0; DECLARE initial CHAR(1); DECLARE initials VARCHAR(255) DEFAULT ''; SET len = LENGTH(str); WHILE i<=len DO SET initial = SUBSTRING(str, i, 1); IF i = 1 OR SUBSTRING(str, i-1, 1) = ' ' THEN SET initials = CONCAT(initials, initial); END IF; SET i = i + 1; END WHILE; RETURN initials;
TAMAT;
Dalam fungsi di atas, kami mengulang melalui rentetan input dan berdasarkan ruang Split setiap perkataan dan dapatkan huruf pertamanya dan gabungkan mereka sebagai nilai pulangan fungsi.
Ringkasan
Fungsi prosedur MySQL ialah fungsi yang sangat penting dalam MySQL, yang boleh membantu pembangun dan pentadbir pangkalan data dengan mudah melaksanakan tugas pemprosesan data yang kompleks. Dalam artikel ini, kami memperkenalkan pengetahuan asas, penggunaan dan contoh fungsi prosedur MySQL. Melalui maklumat ini, anda boleh lebih memahami dan menguasai fungsi prosedur MySQL dan menggunakan sepenuhnya kelebihannya dalam pembangunan sebenar.
Atas ialah kandungan terperinci fungsi prosedur mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!