MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang paling popular hari ini dan sistem pangkalan data pilihan untuk banyak aplikasi. Menyoal rentetan dalam MySQL biasanya merupakan operasi yang sangat biasa kerana kebanyakan item data dalam pangkalan data disimpan dalam bentuk rentetan. Artikel ini akan memperkenalkan kaedah dan teknik menyoal rentetan dalam MySQL.
1. Operasi pertanyaan rentetan asas
Dalam MySQL, operator LIKE boleh digunakan untuk rentetan carian kabur . Apabila menggunakan operator LIKE, anda bebas menggunakan aksara kad bebas dalam rentetan untuk memadankan set hasil yang sepadan dengan corak rentetan.
Sebagai contoh, jika anda ingin mencari nama bermula dengan "John", maka anda boleh menggunakan pernyataan SQL berikut:
PILIH nama_pertama, nama_keluarga DARIPADA pekerja DI MANA nama_pertama SEPERTI 'John%' ;
Dalam contoh ini, "%" ialah aksara kad bebas yang sepadan dengan mana-mana rentetan. Oleh itu, menggunakan operator "LIKE" membolehkan kami mencari semua nama bermula dengan "John".
Jika anda perlu menanyakan nilai rentetan tertentu atau set nilai rentetan tertentu, anda boleh menggunakan IN pengendali . Pertanyaan berikut mengembalikan senarai termasuk nama yang kami minati:
PILIH nama_pertama, nama_keluarga DARIPADA pekerja DI MANA first_name IN ('John', 'Jane', 'Peter');
In contoh ini, kami mencari semua senarai pekerja yang mengandungi "John", "Jane", atau "Peter" dalam medan "first_name".
Ungkapan biasa dalam MySQL bukan sahaja boleh digunakan untuk menanyakan teks, tetapi juga boleh digunakan untuk memadam, menggantikan atau operasi lain. Operator REGEXP (atau RLIKE) boleh digunakan untuk mencari rentetan yang sepadan dengan corak ungkapan biasa.
Sebagai contoh, jika anda perlu mencari semua pekerja yang mengandungi rentetan "Robert" atau "Roberta", anda boleh menggunakan pernyataan pertanyaan SQL berikut:
PILIH * DARI pekerja WHERE first_name REGEXP 'Jubah[ rt]a';
Dalam pertanyaan ini, "[rt]" bermaksud "r" atau "t", dan "[]" bermaksud sebarang kejadian "r" atau "t".
2. Operasi pertanyaan rentetan lanjutan
Jika anda perlu menggabungkan dua atau lebih rentetan bersama dan kembalikan mereka sebagai satu pertanyaan, anda boleh menggunakan fungsi CONCAT MySQL. Berikut ialah contoh pertanyaan yang menggabungkan nama pertama dan nama keluarga untuk carian yang lebih mudah:
PILIH CONCAT(nama_pertama, ' ', nama_akhir) SEBAGAI nama_penuh DARIPADA pekerja;
Dalam pertanyaan contoh ini, kami menggunakan Kata kunci "AS" untuk menamakan data aksara yang dikembalikan oleh fungsi concat "nama_penuh".
Jika anda perlu memintas sebahagian daripada rentetan, anda boleh menggunakan fungsi SUBSTRING MySQL. Berikut ialah contoh pernyataan pertanyaan yang memintas aksara pertama nama pekerja:
PILIH nama_pertama, SUBSTRING(nama_pertama, 1, 1) sebagai awal_pertama DARIPADA pekerja;
Dalam pertanyaan contoh ini, parameter pertama dalam fungsi "SUBSTRING" ialah rentetan yang akan dipintas, parameter kedua ialah kedudukan untuk mula memintas, dan parameter ketiga ialah bilangan aksara yang akan dipintas.
Fungsi TRIM MySQL boleh mengalih keluar ruang hadapan dan belakang daripada rentetan. Sebagai contoh, kita boleh menggunakan pertanyaan berikut untuk mencari semua nama syarikat bermula dengan "A":
PILIH * DARI syarikat DI MANA TRIM(nama_syarikat) SUKA 'A%';
Dalam contoh ini query , gunakan fungsi "TRIM" untuk mengalih keluar ruang daripada nama syarikat, dan kemudian gunakan operator "LIKE" untuk mencari nama syarikat bermula dengan "A".
Ringkasan
Rentetan pertanyaan MySQL ialah operasi yang sangat biasa, dan ia juga merupakan kaedah pertanyaan yang sangat penting. Artikel ini memperkenalkan operasi pertanyaan rentetan asas dan kaedah operasi lanjutan dalam MySQL, termasuk menggunakan operator "LIKE" untuk carian kabur, menggunakan operator "IN" untuk mencari nilai yang ditentukan, menggunakan operator "REGEXP" untuk mencari ungkapan biasa dan menggunakan Fungsi "CONCAT" menggabungkan rentetan, fungsi "SUBSTRING" digunakan untuk memintas rentetan dan fungsi "TRIM" digunakan untuk mengalih keluar ruang hadapan dan belakang daripada rentetan. Menguasai kaedah ini boleh membantu anda membuat pertanyaan dan memproses rentetan dengan lebih cekap.
Atas ialah kandungan terperinci rentetan pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!