Rumah >pangkalan data >tutorial mysql >rentetan prosedur tersimpan mysql
Panduan Lengkap
Prosedur tersimpan MySQL ialah alat pengaturcaraan penting dalam pangkalan data MySQL, digunakan untuk melengkapkan satu siri operasi pangkalan data. Prosedur tersimpan terdiri daripada penyata SQL dan struktur kawalan Ia boleh dianggap sebagai satu set penyata SQL tersusun yang boleh melaksanakan operasi pangkalan data yang kompleks. Ini termasuk operasi rentetan, dan artikel ini akan menyediakan analisis mendalam tentang operasi rentetan dalam prosedur tersimpan MySQL.
1. Cara menggunakan rentetan dalam prosedur tersimpan
Terdapat dua cara utama untuk menyimpan rentetan dalam MySQL: CHAR dan VARCHAR Perbezaan antara keduanya ialah CHAR menyimpan rentetan panjang tetap. VARCHAR menyimpan rentetan aksara dengan panjang berubah-ubah. Dalam prosedur tersimpan, anda boleh mengisytiharkan pembolehubah jenis rentetan melalui pernyataan DECLARE Sintaks adalah seperti berikut:
DECLARE nama pembolehubah VARCHAR (panjang
atau
DECLARE nama pembolehubah CHAR (panjang);
Dalam prosedur tersimpan, anda juga boleh menggunakan pemalar rentetan, yang mesti disertakan dalam petikan tunggal atau berganda, contohnya:
DECLARE str VARCHAR(100);
SET str = 'Hello, World!';
2 Penyambungan rentetan dalam prosedur tersimpan
Dalam prosedur tersimpan, selalunya perlu untuk menyambung berbilang rentetan menjadi satu rentetan . MySQL menyediakan dua fungsi, CONCAT dan CONCAT_WS, untuk melaksanakan penggabungan rentetan.
Fungsi CONCAT menggabungkan berbilang rentetan menjadi satu rentetan sintaksnya adalah seperti berikut:
CONCAT(rentetan1, rentetan2, . .. ,stringN);
Nilai pulangan ialah rentetan bercantum. Contohnya:
ISYTIHKAN str1 VARCHAR(50);
ISYTIHKAN str2 VARCHAR(50);
ISYTIHKAN str3 VARCHAR(100);
SET str1 = 'Hello,';
SET str2 = 'Dunia!';
SET str3 = CONCAT(str1, str2);
Fungsi CONCAT_WS digunakan untuk menggabungkan berbilang rentetan ke dalam rentetan, dan pemisah boleh ditambah antara rentetan Sintaksnya adalah seperti berikut:
CONCAT_WS(pemisah, rentetan1, rentetan2, ..., rentetanN);
di mana pemisah ialah Pembatas, yang dimasukkan ke tengah setiap rentetan dan boleh menjadi pemalar rentetan atau pembolehubah. Contohnya:
ISYTIHKAN str1 VARCHAR(50);
ISYTIHKAN str2 VARCHAR(50);
ISYTIHKAN str3 VARCHAR(100);
SET str1 = 'I';
SET str2 = 'am';
SET str3 = CONCAT_WS(' ', str1, str2, 'the', 'best');
3 Pemintasan rentetan dan penggantian dalam prosedur tersimpan
Dalam prosedur tersimpan, selalunya diperlukan untuk memintas dan menggantikan rentetan MySQL menyediakan dua fungsi, SUBSTRING dan REPLACE, untuk mencapai ini.
Fungsi SUBSTRING digunakan untuk memintas sebahagian daripada rentetan sintaksnya adalah seperti berikut:
SUBSTRING(rentetan, mula,. panjang);
Di mana rentetan adalah rentetan yang akan dipintas, mula ialah kedudukan permulaan, dan panjang ialah panjang yang akan dipintas. Contohnya:
DECLARE str VARCHAR(50);
DECLARE sub_str VARCHAR(50);
SET str = 'Hello, World!';
SET sub_str = SUBSTRING(str, 1 , 5);
Fungsi REPLACE digunakan untuk menggantikan sebahagian daripada rentetan sintaksnya adalah seperti berikut:
REPLACE(. string, from_string, to_string);
di mana rentetan ialah rentetan yang akan diganti, from_string ialah rentetan yang akan diganti dan to_string ialah rentetan baharu yang akan diganti. Contohnya:
DECLARE str VARCHAR(50);
DECLARE new_str VARCHAR(50);
SET str = 'Hello, World!';
SET new_str = REPLACE(str, ' Helo ', 'Hai');
4. Penukaran kes rentetan dalam prosedur tersimpan
Dalam prosedur tersimpan, selalunya perlu untuk menukar kes rentetan kes MySQL menyediakan fungsi LOWER dan Dua UPPER digunakan untuk menukar rentetan kepada huruf kecil dan huruf besar masing-masing.
Fungsi LOWER digunakan untuk menukar rentetan kepada huruf kecil Sintaksnya adalah seperti berikut:
LOWER(rentetan);
Di mana rentetan adalah rentetan yang hendak ditukar. Contohnya: DECLARE str VARCHAR(50);DECLARE new_str VARCHAR(50);
SET str = 'Hello, World!';
SET new_str = LOWER(str);
.
Di mana rentetan adalah rentetan yang hendak ditukar. Contohnya: DECLARE str VARCHAR(50);DECLARE new_str VARCHAR(50);
SET str = 'Hello, World!';
SET new_str = UPPER(str);
DECLARE len INT;
SET str = 'Hello, World!';
SET len = LENGTH(str);
di mana rentetan ialah rentetan yang bilangan aksaranya perlu diperolehi. Contohnya:
DECLARE str VARCHAR(50);
DECLARE num INT;SET str = 'Hello, world!';
SET num = CHAR_LENGTH(str);
6
Artikel ini menyediakan analisis mendalam tentang operasi rentetan dalam prosedur tersimpan MySQL, termasuk pengisytiharan dan penggunaan rentetan, penyambungan rentetan, pemintasan dan penggantian rentetan, penukaran huruf rentetan dan panjang rentetan serta bilangan aksara. Prosedur tersimpan memberi kami alat untuk menyelesaikan operasi yang lebih kompleks dalam pangkalan data MySQL Kemahiran dalam operasi rentetan boleh meningkatkan kecekapan menulis prosedur tersimpan.
Atas ialah kandungan terperinci rentetan prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!