Rumah >pangkalan data >tutorial mysql >prosedur tersimpan mysql sql

prosedur tersimpan mysql sql

WBOY
WBOYasal
2023-05-14 10:27:37704semak imbas

MySQL SQL Stored Procedure

MySQL ialah sistem pengurusan pangkalan data hubungan popular yang menyokong penggunaan bahasa SQL untuk mengurus dan mengendalikan data. Prosedur tersimpan SQL ialah blok kod SQL yang boleh digunakan semula yang boleh dibuat dalam MySQL dan disimpan dalam pangkalan data. Artikel ini akan memperkenalkan pengetahuan berkaitan prosedur tersimpan MySQL SQL, termasuk definisi, sintaks, senario penggunaan, dsb.

Definisi

Prosedur tersimpan SQL ialah satu set pernyataan SQL yang boleh dilaksanakan sebagai satu unit. Berbanding dengan satu pernyataan SQL, prosedur tersimpan SQL mempunyai ciri berikut:

  1. Boleh Digunakan Semula: Prosedur tersimpan boleh dipanggil beberapa kali dalam berbilang pernyataan SQL, meningkatkan kebolehgunaan semula kod.
  2. Boleh dilaksanakan dalam kelompok: Prosedur tersimpan boleh merangkum berbilang pernyataan SQL untuk pemprosesan data secara kelompok.
  3. Keselamatan tinggi: Prosedur tersimpan boleh dikapsulkan menggunakan parameter untuk mengurangkan risiko suntikan SQL.
  4. Prestasi yang dipertingkatkan: Prosedur tersimpan diproses dengan lebih pantas, yang boleh mengurangkan beban pada pelayan pangkalan data.

Sintaks

Sintaks definisi prosedur disimpan MySQL SQL adalah seperti berikut:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type, ...)

BEGIN
    -- SQL 语句
END

di mana:

  • procedure_name: stored procedure nama, diperlukan Mematuhi peraturan penamaan MySQL.
  • parameter_name: Nama parameter prosedur tersimpan, yang perlu mematuhi peraturan penamaan MySQL.
  • data_type: jenis data parameter prosedur tersimpan, termasuk INT, VARCHAR, TEXT, DATE, dsb.
  • IN: Menunjukkan parameter input, yang boleh dibaca dalam prosedur yang disimpan.
  • KELUAR: Mewakili parameter output, yang boleh diubah suai secara dalaman oleh prosedur yang disimpan dan kemudian pengsan.
  • INOUT: Menunjukkan parameter input dan output, yang boleh diubah suai dan dikembalikan secara dalaman oleh prosedur yang disimpan.
  • Antara BEGIN dan END ialah pernyataan SQL di dalam prosedur tersimpan.

Secara khusus, anda perlu mengikuti proses berikut apabila menggunakan prosedur tersimpan:

  1. Tentukan prosedur tersimpan, termasuk nama prosedur tersimpan, parameter input, parameter output , dsb.
  2. Tulis pernyataan SQL di dalam prosedur tersimpan, termasuk SELECT, INSERT, UPDATE, DELETE dan operasi lain.
  3. Panggil prosedur tersimpan, yang boleh dipanggil melalui pernyataan CALL atau dalam klien dan aplikasi MySQL.

Sebagai contoh, tentukan prosedur tersimpan mudah untuk mengeluarkan nilai jumlah:

CREATE PROCEDURE get_sum(IN x INT, IN y INT, OUT sum INT)
BEGIN
    SET sum = x + y;
END

Selepas menggunakan

untuk mentakrifkan prosedur tersimpan, anda boleh memanggilnya. Prosedur tersimpan boleh dipanggil melalui klien dan aplikasi MySQL.

Panggil prosedur tersimpan dalam klien MySQL:

CALL procedure_name (param1, param2, ..., paramN);

Di mana, param1 ~ paramN mewakili parameter input prosedur tersimpan.

Untuk memanggil prosedur tersimpan dalam aplikasi, anda boleh menggunakan antara muka API yang disediakan oleh MySQL. Sebagai contoh, contoh memanggil prosedur tersimpan dalam PHP:

// 连接 MySQL 数据库
$mysqli = new mysqli("localhost", "user", "password", "database");

// 检查连接是否成功
if ($mysqli -> connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
    exit();
}

// 调用存储过程
$sql = "CALL get_sum(1, 2, @sum)";
$result = $mysqli->query($sql);

// 读取输出参数
$sql = "SELECT @sum AS sum";
$result = $mysqli->query($sql);
$row = $result->fetch_assoc();
echo $row['sum'];

Pengoptimuman

Prosedur tersimpan MySQL SQL ialah ciri yang sangat berkuasa dan berguna, tetapi dalam penggunaan sebenar, beberapa pengoptimuman diperlukan untuk mencapai ia Penggunaan yang stabil dan cekap.

Berikut ialah beberapa cadangan pengoptimuman:

  1. Reka bentuk pangkalan data dan jadual harus munasabah untuk mengelakkan kerumitan prosedur tersimpan yang berlebihan.
  2. Dalam prosedur tersimpan, anda harus cuba mengelak daripada menggunakan operasi seperti kursor dan jadual sementara.
  3. Beri perhatian kepada masa pelaksanaan prosedur tersimpan dan pastikan prosedur tersimpan seringan mungkin.
  4. Menjalankan ujian unit dan ujian prestasi pada prosedur tersimpan, dan buat pembaikan dan pengoptimuman tepat pada masanya.

Ringkasan

Prosedur disimpan MySQL SQL ialah teknologi pangkalan data yang berkuasa yang boleh meningkatkan kebolehgunaan semula kod, prestasi dan keselamatan. Dalam penggunaan sebenar, prosedur tersimpan perlu direka bentuk, ditulis dan dioptimumkan dengan betul untuk mencapai hasil yang lebih baik.

Atas ialah kandungan terperinci prosedur tersimpan mysql sql. 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
Artikel sebelumnya:Ubah suai port mysqlArtikel seterusnya:Ubah suai port mysql