Rumah >pangkalan data >tutorial mysql >tatasusunan prosedur tersimpan mysql
Prosedur tersimpan MySQL ialah satu set pernyataan SQL yang disimpan dalam pangkalan data yang boleh dipanggil dan dilaksanakan berulang kali. Sintaks untuk mentakrifkan prosedur tersimpan dalam MySQL pada asasnya adalah sama seperti fungsi, tetapi prosedur tersimpan boleh mengandungi lebih banyak pernyataan SQL dan kenyataan kawalan, jadi operasi yang lebih kompleks boleh diselesaikan. Dalam prosedur tersimpan MySQL, tatasusunan digunakan secara meluas untuk penyimpanan data, pembacaan, pengubahsuaian dan pemadaman. Artikel ini akan menyelidiki tatasusunan prosedur tersimpan MySQL, termasuk definisi tatasusunan, operasi pada tatasusunan dan kes penggunaan tatasusunan.
1. Definisi tatasusunan
Susun atur ialah struktur data tersusun yang terdiri daripada elemen data yang disambungkan secara bersiri daripada jenis data yang sama. Dalam prosedur tersimpan MySQL, tatasusunan boleh dilaksanakan oleh pembolehubah atau jadual. Tatasusunan yang dilaksanakan oleh pembolehubah boleh mentakrif tatasusunan satu dimensi atau berbilang dimensi Tatasusunan yang dilaksanakan oleh jadual boleh menentukan tatasusunan jadual. Kaedah definisi ketiga-tiga tatasusunan ini diperkenalkan di bawah.
Dalam prosedur tersimpan MySQL, tatasusunan satu dimensi boleh dilaksanakan oleh pembolehubah. Kaedah mentakrif tatasusunan satu dimensi adalah serupa dengan mentakrifkan pembolehubah Anda hanya perlu menambah kurungan [] selepas nama pembolehubah dan menentukan panjang tatasusunan dalam kurungan. Sebagai contoh, tentukan tatasusunan integer satu dimensi:
ISYTIHKAN arr1 INT[5];
dengan arr1 ialah nama tatasusunan, INT ialah jenis data dan 5 ialah panjang tatasusunan. Anda boleh menggunakan pernyataan gelung untuk melintasi tatasusunan, contohnya:
ISYTIHKAN i INT;
SET i = 1;
SEMASA i <= 5 DO
SET arr1[i] = i; SET i = i+1;
END WHILE;
Kod di atas memberikan 1~5 kepada setiap elemen tatasusunan.
Dalam prosedur tersimpan MySQL, tatasusunan berbilang dimensi boleh dilaksanakan dengan takrifan bersarang tatasusunan satu dimensi. Sebagai contoh, tentukan tatasusunan integer dua dimensi:
ISYTIHKAN arr2 INT3;
dengan arr2 ialah nama tatasusunan, INT ialah jenis data dan 3 dan 4 ialah panjang kedua-dua dimensi. Tatasusunan boleh dilalui menggunakan pernyataan gelung berganda, contohnya:
ISYTIHKAN i INT;
ISYTIHKAN j INT;
SET i = 1;
SEMASA i <= 3 DO
SET j = 1; WHILE j <= 4 DO SET arr2[i][j] = i*j; SET j = j+1; END WHILE; SET i = i+1;
END WHILE;
Kod di atas memperuntukkan setiap elemen tatasusunan kepada hasil darab bilangan baris dan lajur di mana ia berada.
Dalam prosedur tersimpan MySQL, tatasusunan jadual ialah tatasusunan yang terdiri daripada berbilang jadual, setiap jadual mempunyai struktur yang sama. Sebagai contoh, tentukan tatasusunan jadual yang mengandungi 3 jadual:
ISYTIHKAN tab JADUAL(
id INT, name VARCHAR(20), age INT
);
ISYTIHKAN tab arr3[3];
di mana, tab berada struktur jadual, id, nama dan umur ialah nama lajur jadual; arr3 ialah nama tatasusunan jadual, dan 3 ialah panjang tatasusunan. Anda boleh menggunakan pernyataan gelung untuk melelar melalui setiap jadual dalam tatasusunan, contohnya:
ISYTIHKAN i INT;
SET i = 1;
SEMASA i <= 3 DO
SET @sql = CONCAT('INSERT INTO arr3[', i, '] VALUES(1, "Tom", 20)'); PREPARE stmt FROM @sql; EXECUTE stmt; SET i = i+1;
TAMAT SEWAKTU;
DEUNTUKKAN SEDIAKAN stmt;
Kod di atas memasukkan sekeping data ke dalam setiap jadual dalam tatasusunan jadual bernama arr3.
2. Operasi tatasusunan
Operasi tatasusunan dalam prosedur tersimpan MySQL terutamanya termasuk akses tatasusunan, pengubahsuaian dan pemadaman. Kaedah operasi ini diperkenalkan di bawah.
Mengakses elemen tatasusunan boleh dicapai melalui subskrip, yang bermula dari 0. Contohnya, untuk mengakses elemen ke-3 tatasusunan satu dimensi arr1:
PILIH arr1[2];
Untuk mengakses elemen baris ke-2 dan lajur ke-3 bagi tatasusunan dua dimensi arr2 :
PILIH arr22;
Akses semua data dalam jadual kedua tatasusunan jadual arr3:
PILIH * DARI arr3[2];
Pengubahsuaian elemen tatasusunan boleh dicapai melalui operasi tugasan. Sebagai contoh, ubah suai elemen ke-4 bagi tatasusunan satu dimensi arr1:
SET arr1[3] = 10
Ubah suai elemen baris ke-2 dan lajur ke-3 bagi tatasusunan dua dimensi arr2; :
SET arr22 = 5;
Ubah suai lajur umur rekod dengan id 1 dalam jadual ketiga tatasusunan jadual arr3:
KEMASKINI arr3[3] SET umur = 25 WHERE id = 1;
Memadamkan elemen tatasusunan boleh dicapai dengan memperuntukkan elemen kepada NULL atau menggunakan pernyataan DELETE. Contohnya, untuk memadamkan elemen kedua tatasusunan satu dimensi arr1:
SET arr1[1] = NULL
untuk memadamkan baris kedua dan elemen lajur ketiga bagi dua dimensi; tatasusunan arr2:
SET arr22 = NULL;
Padamkan rekod dengan id 1 dalam jadual kedua dalam tatasusunan jadual arr3:
PADAM DARI arr3[2] WHERE id = 1;
3. Kes penggunaan tatasusunan
Tatasusunan digunakan secara meluas dalam prosedur tersimpan MySQL. Dua kes penggunaan tatasusunan diperkenalkan di bawah, iaitu pengisihan tatasusunan dan penukaran tatasusunan kepada rentetan.
Isih tatasusunan satu dimensi boleh dicapai melalui penyataan gelung dan penyataan bersyarat. Contohnya, buih mengisih tatasusunan satu dimensi arr1:
ISYTIHKAN i INT;
ISYTIHKAN j INT;
ISYTIHKAN temp INT;
SET i = 1;
SEMASA i < ;= 4 DO
SET j = i+1; WHILE j <= 5 DO IF arr1[i] > arr1[j] THEN SET temp = arr1[i]; SET arr1[i] = arr1[j]; SET arr1[j] = temp; END IF; SET j = j+1; END WHILE; SET i = i+1;
END WHILE;
Hasil keluaran tatasusunan yang diisih ialah:
PILIH * DARI arr1;
boleh dicapai melalui penyataan gelung dan fungsi rentetan. Sebagai contoh, tukarkan tatasusunan satu dimensi arr1 kepada rentetan dipisahkan koma:
ISYTIHKAN i INT;
ISYTIHKAN str VARCHAR(100);
SET i = 1;
SET str = '';
WHILE i <= 5 DO
IF i = 1 THEN SET str = CONCAT(str, arr1[i]); ELSE SET str = CONCAT(str, ',', arr1[i]); END IF; SET i = i+1;
END WHILE;
SELECT str;
Hasil keluaran rentetan yang ditukar ialah:
1 ,2,3,4,5
4
Artikel ini memperkenalkan tatasusunan dalam prosedur tersimpan MySQL, termasuk takrif tatasusunan, operasi tatasusunan dan kes penggunaan tatasusunan. Sebagai kaedah penyimpanan data yang teratur dan cekap, tatasusunan mempunyai nilai aplikasi yang penting dalam proses penyimpanan. Dengan membaca artikel ini, saya percaya bahawa pembaca telah menguasai kaedah aplikasi tatasusunan dalam prosedur tersimpan MySQL, dan boleh menggunakan tatasusunan secara fleksibel dalam pembangunan sebenar untuk menyelesaikan operasi yang lebih kompleks.
Atas ialah kandungan terperinci tatasusunan prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!