MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas. Seperti sistem pengurusan pangkalan data yang lain, MySQL juga menyokong konsep prosedur tersimpan Melalui prosedur tersimpan, operasi biasa dan kod logik perniagaan boleh dirangkumkan ke dalam modul dan dipanggil terus apabila diperlukan.
Walau bagaimanapun, dalam pembangunan sebenar, apabila skala perniagaan terus berkembang, bilangan prosedur tersimpan akan meningkat, dan cara mengurus dengan cekap dan mencari prosedur tersimpan ini dengan cepat menjadi sangat penting. Artikel ini akan memperkenalkan kaedah melihat prosedur tersimpan dalam MySQL, dan berharap dapat membantu anda.
Dengan menggunakan perintah SHOW PROCEDURE STATUS
, anda boleh melihat maklumat yang berkaitan tentang prosedur yang disimpan dalam pangkalan data MySQL, termasuk nama , masa penciptaan dan pengubahsuaian prosedur tersimpan, status, dsb.
Show PROCEDURE STATUS [LIKE 'pattern' | WHERE expr]
Antaranya, pattern
mewakili corak nama prosedur tersimpan untuk ditanya dan expr
mewakili ungkapan SQL Hasil pertanyaan akan dikembalikan hanya apabila hasil ungkapan adalah benar. Jika tiada parameter dinyatakan, maklumat tentang semua prosedur yang disimpan akan dikembalikan.
Berikut ialah beberapa contoh:
SHOW PROCEDURE STATUS;
p_
SHOW PROCEDURE STATUS LIKE 'p_%';
{Create | Alter | Drop}
SHOW PROCEDURE STATUS WHERE `status` IN ('Create', 'Alter', 'Drop');
Untuk melihat definisi khusus prosedur tersimpan, anda boleh menggunakan. perintah SHOW CREATE PROCEDURE
, Penyataan SQL yang mengandungi definisi prosedur tersimpan dikembalikan.
SHOW CREATE PROCEDURE proc_name;
Di mana, proc_name
mewakili nama prosedur tersimpan untuk disoal.
Berikut ialah contoh:
SHOW CREATE PROCEDURE `add_user`; -- 结果 +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Procedure | Create Procedure | +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | add_user | CREATE DEFINER=`root`@`localhost` PROCEDURE `add_user`(IN p_name VARCHAR(32), IN p_age INT, IN p_address VARCHAR(64)) BEGIN INSERT INTO `user`(`name`, `age`, `address`) VALUES (p_name, p_age, p_address); END | +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Dengan arahan SHOW CREATE PROCEDURE
, anda boleh melihat pelaksanaan khusus prosedur tersimpan dengan cepat walaupun anda tidak mengetahui takrifan prosedur tersimpan.
INFORMATION_SCHEMA
ialah pangkalan data metadata yang disokong oleh MySQL, yang mengandungi sejumlah besar maklumat tentang struktur dan status pangkalan data. Dalam jadual INFORMATION_SCHEMA.Routines
, anda boleh menanyakan semua prosedur tersimpan pangkalan data MySQL.
SELECT `ROUTINE_NAME`, `ROUTINE_DEFINITION`, `CREATED`, `LAST_ALTERED` FROM `INFORMATION_SCHEMA`.`ROUTINES` WHERE `ROUTINE_TYPE` = 'PROCEDURE' AND `SPECIFIC_SCHEMA` = 'your_db_name';
Antaranya, ROUTINE_NAME
mewakili nama prosedur tersimpan, ROUTINE_DEFINITION
mewakili takrif prosedur tersimpan, CREATED
mewakili masa penciptaan dan LAST_ALTERED
mewakili masa pengubahsuaian.
Perlu diambil perhatian bahawa untuk meningkatkan kecekapan pertanyaan, nama pangkalan data tertentu harus dinyatakan dalam pernyataan pertanyaan. Jika anda ingin menanyakan semua pangkalan data, anda boleh menukar medan SPECIFIC_SCHEMA
kepada IS NOT NULL
.
Melalui tiga kaedah di atas, anda boleh melihat dan mengurus prosedur tersimpan dalam MySQL dengan mudah. Perintah SHOW PROCEDURE STATUS
menyediakan maklumat prosedur tersimpan asas, dan perintah SHOW CREATE PROCEDURE
menyediakan definisi prosedur tersimpan khusus. Menggunakan INFORMATION_SCHEMA
anda boleh menanyakan prosedur tersimpan dalam semua pangkalan data MySQL.
Dalam pembangunan sebenar, selain menyemak definisi dan maklumat prosedur tersimpan, anda juga perlu biasa dengan kaedah panggilan prosedur tersimpan, pemindahan parameter, dsb., supaya anda boleh menggunakan prosedur tersimpan dengan cepat untuk melengkapkan logik perniagaan apabila diperlukan.
Atas ialah kandungan terperinci Artikel yang memperkenalkan kaedah melihat prosedur tersimpan dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!