MySQL ialah sistem pengurusan pangkalan data hubungan yang sangat popular Ia menyokong pelbagai kaedah mendapatkan semula data daripada jadual, yang paling biasa digunakan ialah menanyakan data baris. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk menanyakan data baris, termasuk pertanyaan asas, pertanyaan bersyarat dan pertanyaan berbilang jadual.
1. Pertanyaan asas
Dalam MySQL, pernyataan pertanyaan baris paling asas ialah pernyataan SELECT. Bentuk asasnya ialah:
PILIH lajur1, lajur2, ... DARI nama_jadual;
di mana lajur1, lajur2, dsb. mewakili nama lajur yang hendak diambil dan nama_jadual mewakili nama jadual kepada diambil semula.
Sebagai contoh, jika kita mempunyai jadual bernama "pelajar" yang mengandungi dua lajur data: "nama" dan "umur", maka jika kita ingin menanyakan nama dan umur semua pelajar, kita boleh menggunakan pernyataan berikut:
PILIH nama, umur DARI pelajar;
Selepas menjalankan penyataan ini, MySQL akan mengembalikan jadual yang mengandungi nama dan umur semua pelajar.
2. Pertanyaan bersyarat
Pertanyaan asas boleh mendapatkan semula semua data baris dalam jadual, tetapi lebih kerap, hanya data baris yang memenuhi syarat tertentu perlu diambil. MySQL menyediakan pelbagai kaedah untuk melaksanakan pengambilan bersyarat ini, seperti klausa WHERE, klausa LIKE dan klausa IN.
Klausa WHERE boleh digunakan untuk mengehadkan syarat yang mesti dipenuhi oleh data baris yang dikembalikan. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... FROM table_name WHERE keadaan;
di mana keadaan ialah beberapa ungkapan logik yang menerangkan sekatan data baris, yang boleh termasuk operator perbandingan, Operator logik dan fungsi, dsb.
Sebagai contoh, jika kita hanya ingin menanyakan pelajar yang berumur lebih daripada 20 tahun, kita boleh menggunakan pernyataan berikut:
PILIH nama, umur DARI pelajar DI MANA umur >
Selepas menjalankan pernyataan ini, MySQL mengembalikan jadual yang mengandungi nama dan umur semua pelajar yang berumur lebih daripada 20 tahun.
Klausa LIKE boleh digunakan untuk memadankan corak rentetan tertentu. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI table_name WHERE column_name LIKE pattern;
di mana corak ialah rentetan yang mengandungi aksara kad bebas boleh digunakan untuk memadankan mana-mana watak atau Satu set watak. Aksara kad bebas yang paling biasa digunakan ialah % dan _, yang masing-masing sepadan dengan mana-mana aksara dan sepadan dengan satu aksara.
Sebagai contoh, jika kita hanya ingin menanyakan pelajar yang namanya bermula dengan "Li", kita boleh menggunakan pernyataan berikut:
PILIH nama, umur DARI pelajar DI MANA nama SEPERTI 'Li%' ;
Selepas menjalankan pernyataan ini, MySQL akan mengembalikan jadual yang mengandungi nama dan umur semua pelajar yang namanya bermula dengan "Li".
IN fasal boleh digunakan untuk mendapatkan semula sama ada nilai dalam lajur tergolong dalam set nilai yang ditentukan. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI nama_jadual DI MANA nama_lajur IN (nilai1, nilai2, ...);
di mana nilai1, nilai2, dsb. mewakili nilai yang perlu dipadankan.
Sebagai contoh, jika kita hanya ingin menanyakan pelajar yang namanya "Li" atau "Zhang", kita boleh menggunakan pernyataan berikut:
PILIH nama, umur DARI pelajar WHERE name IN ( 'Li' , 'Zhang');
Selepas menjalankan pernyataan ini, MySQL akan mengembalikan jadual yang mengandungi nama dan umur semua pelajar bernama "Li" atau "Zhang".
3. Pertanyaan berbilang jadual
Dalam aplikasi praktikal, biasanya perlu mengambil semula data daripada berbilang jadual. MySQL menyediakan pelbagai kaedah untuk melaksanakan pertanyaan berbilang jadual ini, termasuk INNER JOIN, LEFT JOIN dan RIGHT JOIN, dsb.
INNER JOIN ialah salah satu kaedah pertanyaan bersama yang paling biasa digunakan, yang boleh mendapatkan semula data berkaitan secara serentak berdasarkan keadaan perkaitan antara dua jadual. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI jadual1 DALAM SERTAI jadual2 DENGAN syarat;
di mana jadual1 dan jadual2 mewakili dua jadual yang akan disambungkan, dan syarat ialah keadaan sambungan Biasanya beberapa lajur daripada kedua-dua jadual.
Sebagai contoh, jika kita mempunyai dua jadual "pelajar" dan "skor", di mana jadual "pelajar" mengandungi nama dan umur pelajar, dan jadual "skor" mengandungi nama dan gred pelajar, maka kita ingin menanyakan setiap Untuk nama, umur dan markah setiap pelajar, anda boleh menggunakan pernyataan berikut:
PILIH pelajar.nama, pelajar.umur, markah.skor DARI pelajar DALAM MENYERTAI markah PADA pelajar.nama = markah. name;
Selepas menjalankan pernyataan ini, MySQL akan mengembalikan jadual yang mengandungi nama, umur dan gred setiap pelajar.
LEFT JOIN juga merupakan kaedah pertanyaan bersama, yang boleh mengembalikan semua data baris dalam jadual kiri dan data baris yang layak dalam jadual kanan. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI jadual1 KIRI SERTAI jadual2 DENGAN syarat;
di mana jadual1 dan jadual2 mewakili dua jadual yang akan disambungkan, dan syarat ialah keadaan sambungan Biasanya beberapa lajur daripada kedua-dua jadual.
Sebagai contoh, jika kita mempunyai dua jadual "pelajar" dan "skor" dan ingin menanyakan nama, umur dan gred (jika ada) semua pelajar, kita boleh menggunakan pernyataan berikut:
PILIH students.name, students.age, scores.score DARI pelajar LEFT JOIN scores ON students.name = scores.name;
Selepas menjalankan pernyataan ini, MySQL akan mengembalikan senarai yang mengandungi nama, umur dan markah semua pelajar (jika ada) tingkatan.
RIGHT JOIN adalah serupa dengan LEFT JOIN, tetapi mengembalikan semua data baris dalam jadual kanan dan data jadual kiri yang layak. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI jadual1 KANAN SERTAI jadual2 DENGAN syarat;
di mana jadual1 dan jadual2 mewakili dua jadual yang akan disambungkan, dan syarat ialah keadaan sambungan Biasanya beberapa lajur daripada kedua-dua jadual.
Sebagai contoh, jika kita mempunyai dua jadual "pelajar" dan "skor" dan ingin menanyakan semua rekod skor serta nama dan umur pelajar yang sepadan (jika ada), kita boleh menggunakan pernyataan berikut:
PILIH students.name, students.age, scores.skor DARIPADA pelajar KANAN SERTAI markah PADA pelajar.name = scores.name;
Selepas menjalankan pernyataan ini, MySQL akan mengembalikan senarai yang mengandungi semua rekod skor dan pelajar yang sepadan Bentuk nama dan umur (jika ada).
Ringkasan
Artikel ini memperkenalkan cara menggunakan MySQL untuk menanyakan data baris, termasuk pertanyaan asas, pertanyaan bersyarat dan pertanyaan berbilang jadual. Antaranya, pertanyaan asas boleh mendapatkan semula semua data dalam jadual, pertanyaan bersyarat boleh mendapatkan semula data mengikut syarat yang ditentukan, dan pertanyaan berbilang jadual boleh bersama-sama mendapatkan data daripada berbilang jadual. Menggunakan teknik ini boleh membantu kami mendapatkan data dengan lebih cepat dan lebih tepat, serta meningkatkan kecekapan dan ketepatan pemprosesan data.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan data baris dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!