MySQL MariaDB

MySQL Gabungkan String Columns dengan Fungsi CONCAT

MySQL Gabungkan String Columns dengan Fungsi CONCAT
Gabungan rentetan dalam MySQL membantu seseorang menambah satu rentetan hingga akhir yang lain. Menggabungkan medan rentetan atau pangkalan data menjadi medan tunggal dalam set hasil dapat dilaksanakan dengan kaedah pengurusan rentetan MySQL. Dalam panduan ini, semasa menggunakan kaedah MySQL CONCAT atau CONCAT WS, anda akan menemui pelbagai cara menggabungkan dua atau lebih rentetan secara serentak.

Buka shell klien baris perintah MySQL dari aplikasi, dan tambahkan kata laluan anda semasa bertanya.

Contoh 01: Gabungkan Dua Lajur Menggunakan CONCAT

Kami mempunyai jadual 'guru' dalam pangkalan data 'data'. Kami ingin mengaitkan rentetan dari dua lajur "TeachName" dan "nama belakang" tanpa ruang di antara mereka.

Jalankan perintah SELECT CONCAT yang mempunyai nama lajur dalam tanda kurung yang dipisahkan dengan koma. Lajur baru 'Nama' dihasilkan untuk menyimpan nilai rentetan gabungan di dalamnya dan hasilnya ditunjukkan di bawah.

>> SELECT CONCAT (TeachName, nama belakang) SEBAGAI Nama DARI data.guru;

Contoh 02: Gabungkan Dua Lajur dengan Ruang

Andaikan kita mempunyai jadual di bawah "pelajar" dalam pangkalan data "data" dan kita ingin menggabungkan rentetan dari dua lajur "Nama" dan "Subjek" dengan ruang antara nilai.

Gunakan perintah SELECT CONCAT di bawah sambil memberikan nama lajur dalam tanda kurung untuk menggabungkan nilai rentetan yang dipisahkan dengan spasi. Nilai gabungan akan disimpan dalam lajur baru, “StudentDetail."Lajur yang dihasilkan mempunyai semua rentetan gabungan sekarang.

>> PILIH KONCAT (Nama, ", Subjek) SEBAGAI Maklumat Pelajar DARI data.pelajar;

Contoh 03: Gabungkan Beberapa Lajur dengan Watak Khas

Mari kita anggap jadual di bawah "guru" untuk menggabungkan nilai rentetan dari lebih daripada dua lajur dengan watak khas yang berbeza.

Cubalah arahan di bawah sambil menambahkan tanda '-' dan bukannya spasi. Kumpulan hasilnya mempunyai lajur rentetan gabungan dari lajur meja dengan watak khas yang digunakan di dalamnya.

>> PILIH CONCAT (TeachName, '-', subjek, '-', kelayakan) SEBAGAI Detail dari data.guru;

Contoh 04: Bersambung Semasa Mengambil Lajur Tambahan

Sekiranya anda ingin menggabungkan rentetan lajur sambil mengambil lajur lain dalam pertanyaan yang sama, anda berada di tempat yang tepat. Pertimbangkan jadual "binatang" dalam pangkalan data "data" di bawah.

Kami telah menggabungkan tiga lajurnya; "Warna", "Nama", dan "Jantina" sambil menggunakan spasi dan karakter khas di antaranya. Rentetan gabungan dari lajur ini akan disimpan ke lajur baru, "AnimData". Sebaliknya, kami telah mengakses catatan lajur lain "Harga" dan "Umur" dari jadual ini. Rekod akan diambil dari baris di mana jantina haiwan adalah "M" bermaksud lelaki sahaja. Anda mempunyai hasil rentetan gabungan dari lajur yang berbeza serta lajur lain yang telah dipaparkan secara berasingan.

>> PILIH KONCAT (Warna, ", Nama, '-', Jantina) SEBAGAI AnimData, Harga, Umur DARI data.haiwan DI MANA Jantina = 'M';

Contoh 05: Gabungkan Lebih Banyak Rentetan dengan Rentetan Lajur

Sekiranya anda ingin menambahkan rentetan dan bukannya watak atau ruang khas, anda juga boleh melakukannya. Oleh itu, mari kita mempunyai contoh mudah untuk melakukan ini. Anggaplah anda mempunyai "buku" jadual dan anda mempunyai data di bawah ini mengenai buku, harga, pengarang, jilid, dan halaman seperti yang ditunjukkan dalam gambar. Sekarang, kita akan menggabungkan rentetan dari lajur "Nama", "Pengarang", dan "Harga" menggunakan tabel ini.

Kami telah menggunakan pernyataan SELECT CONCAT untuk menggabungkan rentetan dari tiga lajur. Semua data jadual ini disusun terlebih dahulu dalam urutan menaik lajur "Nama". Dalam kurungan, kami telah menyediakan "Buku", "ditulis oleh", dan "mempunyai harga" sebagai rentetan tambahan, bukan ruang atau watak khas dalam koma terbalik. Sekarang fungsi CONCAT akan mengambil nilai koma terbalik pertama "Buku" bersama dengan nilai dari lajur "Nama", kemudian nilai koma terbalik kedua 'ditulis oleh' diikuti oleh nilai rentetan kolom "Pengarang", dan terakhir ketiga nilai koma terbalik "mempunyai harga" diikuti dengan nilai lajur 'Harga'. Semua rentetan dan nilai ini dari lajur akan digabungkan dan akan membuat ayat yang lengkap. Kalimat rentetan mega baru ini akan disimpan di lajur baru "BookDetail".

>> PILIH KONCAT ('Buku', Nama, 'ditulis oleh', Pengarang, 'mempunyai harga', Harga) SEBAGAI BukuDetail DARI data.buku PESANAN MENGIKUT Nama ASC;

Contoh 06: Rentetan Lajur Gabungan Menggunakan CONCAT_WS

CONCAT_WS nampaknya merupakan varian unik dari fitur CONCAT yang memungkinkan anda menentukan simbol (atau watak) mana yang akan dibuang sebagai pembahagi mengenai gabungan tali. Ia semudah fungsi CONCAT ringkas. Oleh itu, mari kita pertimbangkan jadual "sosial" dalam pangkalan data MySQL yang mempunyai nilai mengenai pengguna, aplikasi media sosial mereka yang paling banyak digunakan, dan usia pengguna. Sekarang kita akan melakukan penggabungan menggunakan fungsi CONCAT_WS.

Dalam pertanyaan di bawah ini, kami telah menggabungkan tiga lajur dan menyimpan hasil gabungan ini ke lajur "Detail". Seperti yang anda perhatikan, ada sesuatu yang berbeza kerana kita telah menentukan beberapa watak khas "***" dalam koma terbalik sebelum nama lajur. Ini kerana kami ingin menambahkan watak khas ini antara rentetan lajur, satu demi satu menggunakan fungsi CONTACT_WS. Oleh itu, dari senario ini, jelas bahawa kita tidak perlu memasukkan watak khas dalam pertanyaan setelah setiap lajur ditentukan ketika datang ke jenis watak yang sama.

>> PILIH CONCAT_WS ('***', Pengguna, Laman Web, Umur) SEBAGAI Perincian DARI data.sosial;

Kesimpulan:

Anda kini dapat memahami semua perkara penting mengenai penggabungan lajur rentetan dan nilainya dengan berkesan menggunakan fungsi CONCAT sederhana dan fungsi CONCAT_WS di MySQL Shell.

Permainan Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar anda ketika menggunakan Linux-ia juga dapat menjadi sumber hiburan kerana anda dapat menggunakannya untuk m...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Sekiranya anda suka bermain permainan di Linux dengan gamepad dan bukannya sistem input papan kekunci dan tetikus biasa, ada beberapa aplikasi berguna...
Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...