Rumah  >  Artikel  >  pangkalan data  >  Bincangkan proses terperinci paging MySQL

Bincangkan proses terperinci paging MySQL

PHPz
PHPzasal
2023-04-19 14:12:00730semak imbas

Dalam pembangunan web, penomboran adalah fungsi yang sangat penting. Apabila pengguna perlu mendapatkan maklumat daripada sejumlah besar data, fungsi halaman boleh membantu pengguna menyemak imbas ke data yang diperlukan tanpa menghabiskan terlalu banyak masa untuk maklumat yang tidak berkaitan. Dalam pangkalan data MySQL, pertanyaan paging adalah tugas yang perlu dikendalikan dengan kerap. Dalam artikel ini, kita akan membincangkan proses terperinci paging MySQL.

Prinsip paging MySQL

Prinsip paging MySQL adalah menggunakan pernyataan LIMIT, yang boleh mengehadkan bilangan baris dalam set hasil yang dikembalikan oleh pertanyaan MySQL. Pernyataan LIMIT biasanya memerlukan dua parameter Parameter pertama menentukan nombor baris permulaan set hasil yang dikembalikan, dan parameter kedua menentukan bilangan baris set hasil yang dikembalikan.

Sebagai contoh, untuk mengembalikan baris 1 hingga 10 set hasil pertanyaan MySQL, anda boleh menggunakan pernyataan LIMIT berikut:

SELECT * FROM table_name LIMIT 0, 10;

Pernyataan di atas Menentukan 10 baris bermula dari baris 0 dalam set hasil yang dikembalikan. Oleh kerana nombor baris dalam MySQL mula mengira dari 0, parameter pertama ialah 0, bukan 1. Parameter kedua menentukan bilangan baris yang dikehendaki.

Dalam aplikasi web, pertanyaan paging biasanya memerlukan pengguna untuk menentukan nombor halaman set hasil yang dikembalikan dan bilangan rekod yang dipaparkan pada setiap halaman. Oleh itu, kita juga perlu mengira nombor baris permulaan dan bilangan baris dalam keputusan yang ditetapkan dalam pernyataan LIMIT. Katakan kita perlu mengembalikan baris 11 hingga 20 set hasil dan memaparkan 10 baris setiap halaman, anda boleh menggunakan pernyataan LIMIT berikut:

PILIH * DARI table_name LIMIT 10, 10;

Dalam contoh ini, parameter pertama ialah nombor baris permulaan, iaitu baris 11. Parameter kedua ialah bilangan baris dalam set hasil, iaitu 10 baris. Pernyataan ini akan mengembalikan 10 baris dalam set keputusan bermula pada baris 11.

Pelaksanaan paging MySQL

Pelaksanaan paging MySQL memerlukan penggunaan beberapa kemahiran pertanyaan SQL. Di bawah ini kita akan membincangkan cara melaksanakan pertanyaan penomboran dalam MySQL.

Langkah 1: Kira jumlah rekod

Sebelum melakukan operasi paging, kita perlu mengira jumlah rekod yang memenuhi syarat pertanyaan. Nilai ini boleh diperolehi melalui fungsi COUNT(). Fungsi COUNT() mengembalikan jumlah bilangan baris dalam hasil pertanyaan.

Sebagai contoh, untuk mendapatkan jumlah bilangan rekod dalam jadual bernama table_name, anda boleh menggunakan pernyataan SQL berikut:

SELECT COUNT(*) FROM table_name;

Kenyataan ini akan mengembalikan pertanyaan yang memenuhi pertanyaan Jumlah bilangan rekod untuk syarat tersebut. Mendapatkan jumlah rekod adalah langkah pertama dalam operasi halaman, kerana kita perlu mengetahui bilangan halaman yang tersedia untuk disemak imbas oleh pengguna.

Langkah 2: Kira nombor baris permulaan

Mengira nombor baris permulaan ialah langkah kedua operasi halaman. Oleh kerana kita perlu mula mendapatkan data daripada baris tertentu dalam set hasil, kita perlu menggunakan parameter pertama dalam pernyataan LIMIT untuk menentukan nombor baris untuk mula mendapatkan semula.

Untuk mengira nombor baris permulaan, anda perlu mengetahui nombor halaman semasa dan bilangan rekod yang dipaparkan pada setiap halaman. Katakan kita perlu memaparkan halaman 3, dengan 10 rekod setiap halaman, maka nombor baris permulaan ialah:

(3 - 1) * 10 = 20

di sini (3-1) *10 menunjukkan jumlah bilangan rekod pada 2 halaman pertama, ditambah dengan bilangan rekod pada halaman ini bermula dari baris 20, iaitu betul-betul nombor baris permulaan muka surat 3.

Langkah 3: Kira bilangan baris dalam set hasil

Mengira bilangan baris dalam set hasil juga agak mudah Anda hanya perlu menentukan parameter kedua dalam pernyataan LIMIT . Bilangan rekod yang akan dipaparkan setiap halaman diketahui, jadi bilangan rekod yang akan dipaparkan setiap halaman boleh digunakan sebagai parameter kedua dalam pernyataan LIMIT.

Dengan andaian kita perlu memaparkan 10 rekod pada halaman 3, bilangan baris dalam set keputusan ialah 10.

Langkah 4: Gabungkan pernyataan SQL

Dengan jumlah bilangan rekod, nombor baris permulaan dan bilangan baris dalam set hasil, kami boleh menggabungkan pernyataan LIMIT untuk melaksanakan pertanyaan halaman. Sintaks pernyataan LIMIT adalah seperti berikut:

SELECT * FROM table_name LIMIT start_row, row_count;

start_row ialah nombor baris permulaan dan row_count ialah bilangan baris dalam set hasil. Pernyataan ini akan mengembalikan baris row_count bermula dari baris start_row dalam set hasil yang memenuhi syarat pertanyaan.

Andaikan kita perlu memaparkan data pada halaman 3, setiap halaman memaparkan 10 rekod, dan nama jadual ialah table_name, maka gabungan pernyataan SQL ialah:

SELECT * FROM table_name LIMIT 20, 10;

Pernyataan ini akan mengembalikan 10 baris rekod bermula dari baris 20 dalam jadual table_name, yang kebetulan merupakan data pada halaman 3.

Ringkasan

Pertanyaan halaman MySQL ialah fungsi yang biasa digunakan dalam pembangunan web. Untuk melaksanakan fungsi paging, anda perlu mengira jumlah bilangan rekod, nombor baris permulaan dan bilangan baris dalam set hasil, dan kemudian gunakan pernyataan LIMIT untuk mengehadkan bilangan baris dalam set hasil pertanyaan. Apabila melaksanakan operasi paging MySQL, anda mesti memberi perhatian kepada beberapa butiran, seperti nilai permulaan nombor baris ialah 0, dsb.

Atas ialah kandungan terperinci Bincangkan proses terperinci paging MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn