MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas dalam laman web dan aplikasi perusahaan. Selain memasang dan menggunakan MySQL, kemahiran yang mesti ada ialah menanya pangkalan data, kerana pertanyaan adalah sangat penting, dapat memeriksa, menapis dan mendapatkan data yang diperlukan. Artikel ini akan memperkenalkan cara membuat pertanyaan pangkalan data MySQL, termasuk pertanyaan asas, pertanyaan lanjutan dan pertanyaan sambungan.
1. Pertanyaan asas
Penyataan SELECT digunakan untuk mendapatkan data daripada jadual pangkalan data. Ia menentukan lajur mana yang hendak diambil, dan dari jadual mana data akan diambil semula. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI table_name;
Contohnya:
PILIH nama, umur DARIPADA pelajar;
Pernyataan di atas akan Mendapatkan data untuk lajur nama dan umur daripada jadual pelajar.
Pernyataan WHERE digunakan untuk menapis baris tertentu dan hanya mengembalikan data yang memenuhi syarat. Ia adalah selepas pernyataan SELECT, dan sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... FROM table_name WHERE keadaan;
Contohnya:
SELECT name , umur DARI pelajar DI MANA umur >
Pernyataan di atas akan mendapatkan semula nama dan umur pelajar yang berumur lebih daripada 18 tahun daripada jadual pelajar.
ORDER BY statement digunakan untuk mengisih data yang diambil mengikut lajur yang ditentukan. Ia boleh menyusun data dalam tertib menaik atau menurun. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI nama_jadual DI MANA keadaan ORDER OLEH lajur1, lajur2, ... ASC|DESC;
Contohnya:
PILIH nama , umur DARI pelajar DI MANA umur > 18 URUSAN MENGIKUT umur DESC;
Pernyataan di atas akan mendapatkan semula nama dan umur pelajar yang berumur lebih daripada 18 tahun daripada jadual pelajar, dan mengisih mereka dalam susunan menurun mengikut umur.
Pernyataan LIMIT digunakan untuk mengehadkan bilangan baris yang diambil. Ia biasanya digunakan dengan pernyataan ORDER BY untuk mendapatkan N baris pertama rekod atau melangkau M baris pertama rekod. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI nama_jadual WHERE keadaan ORDER OLEH lajur1, lajur2, ... ASC|HAD DESC N OFFSET M;
Contohnya:
PILIH nama, umur DARI pelajar DI MANA umur > 18 ORDER MENGIKUT umur DESC LIMIT 10;
Pernyataan di atas akan mendapatkan semula nama dan umur pelajar yang berumur lebih daripada 18 tahun daripada jadual pelajar dan kembalikan 10 baris pertama rekod.
2. Pertanyaan lanjutan
Pernyataan LIKE digunakan untuk menapis data gaya tertentu dan sering digunakan untuk padanan kabur. Ia boleh digunakan dalam pernyataan WHERE, sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... FROM table_name WHERE column_name LIKE pattern;
di mana corak ialah rentetan yang mengandungi kad bebas, anda boleh menggunakan % dan _ kad bebas untuk memadankan mana-mana aksara dan satu aksara, contohnya:
PILIH nama, umur DARI pelajar DI MANA nama SEPERTI '%zhang%';
Pernyataan di atas akan mendapatkan semula nama daripada jadual pelajar Rekod pelajar yang mengandungi "zhang".
IN pernyataan digunakan untuk pertanyaan yang sepadan dengan berbilang nilai dalam lajur. Ia boleh digunakan dalam pernyataan WHERE, sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... FROM table_name WHERE column_name IN (value1, value2, ...);
For contoh:
PILIH nama, umur DARI pelajar DI MANA umur DI (18, 19, 20);
Pernyataan di atas akan mendapatkan semula rekod pelajar yang berumur 18, 19 atau 20 tahun daripada meja pelajar.
Pernyataan NOT digunakan dalam pernyataan WHERE untuk menapis baris yang tidak memenuhi syarat. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... FROM table_name WHERE NOT syarat;
Contohnya:
PILIH nama, umur DARI pelajar WHERE NOT umur = 18;
Pernyataan di atas akan mendapatkan semula rekod pelajar yang berumur tidak 18 tahun daripada jadual pelajar.
3. Sertai pertanyaan
Sertai pertanyaan digunakan untuk mendapatkan semula data daripada berbilang jadual dan menggabungkan hasilnya. Biasanya penyataan INNER JOIN atau LEFT JOIN digunakan. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI table_name1 JOIN table_name2 ON table_name1.column_name=table_name2.column_name WHERE keadaan;
di mana TABLE_NAME1 dan TABLE_NAME2 ialah nama bagi dua jadual untuk disambungkan , klausa JOIN menentukan jenis yang akan disambungkan, dan syarat ON menentukan lajur jadual yang dicantumkan.
Pernyataan INNER JOIN mengembalikan data baris yang biasa kepada kedua-dua jadual. Ia mengandungi baris daripada kedua-dua jadual dengan nilai lajur yang sama. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI table_name1 DALAM JOIN table_name2 PADA table_name1.column_name=table_name2.column_name;
Contohnya:
SELECT pelajar.nama, kursus.nama DARI pelajar DALAM MENYERTAI kursus PADA pelajar.course_id=courses.course_id;
Pernyataan di atas akan mendapatkan semula nama dan nama kursus daripada jadual pelajar dan jadual kursus dan menggabungkannya bersama-sama.
Left JOIN statement mengembalikan semua baris dalam jadual kiri, serta memadankan baris dalam jadual kanan. Jika tiada baris yang sepadan dalam jadual kanan, lajur jadual kanan dalam set hasil ialah NULL. Sintaksnya adalah seperti berikut:
PILIH lajur1, lajur2, ... DARI table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name;
Contohnya:
SELECT students.name, courses.name DARI pelajar LEFT JOIN courses ON students.course_id=courses.course_id;
Pernyataan di atas akan mendapatkan semula nama dan nama kursus daripada jadual pelajar dan termasuk semua pelajar, walaupun mereka belum mendaftar untuk mana-mana kursus.
Ringkasan
Di atas adalah kaedah pertanyaan asas, lanjutan dan sambungan tentang cara membuat pertanyaan MySQL Menguasai kaedah ini merupakan bahagian penting dalam menggunakan MySQL dan boleh membantu pentadbir pangkalan data dan pembangun mengurus dengan lebih berkesan . dan dapatkan semula data.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!