fungsi prosedur mysql

王林
Lepaskan: 2023-05-08 19:38:36
asal
816 orang telah melayarinya

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

  1. 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.

  1. Fungsi MySQL

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.

  1. Buat prosedur MySQL

Berikut ialah sintaks untuk mencipta prosedur MySQL:

CIPTA PROCEDURE procedure_name ([parameter])
MULAKAN

  [SQL statements]
Salin selepas log masuk
Salin selepas log masuk

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;
Salin selepas log masuk

END;

  1. Cipta fungsi MySQL

Berikut ialah sintaks untuk mencipta fungsi MySQL:

CREATE FUNCTION function_name([parameters ]) RETURNS data_type
BEGIN

  [SQL statements]
Salin selepas log masuk
Salin selepas log masuk

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;
Salin selepas log masuk

END;

3. Contoh fungsi prosedur MySQL

  1. Contoh 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;
Salin selepas log masuk

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.

  1. Contoh fungsi MySQL

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;
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!