Rumah > Artikel > pangkalan data > Apakah penggunaan had dalam mysql
Dalam mysql, kata kunci had digunakan terutamanya untuk menentukan rekod keputusan pertanyaan yang mula dipaparkan, dan jumlah rekod yang dipaparkan secara keseluruhannya mempunyai tiga sintaks penggunaan: "LIMIT kedudukan awal, bilangan rekod ", "LIMIT rekod" Nombor" dan "LIMIT bilangan rekod OFFSET kedudukan awal".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Apabila terdapat puluhan ribu data dalam jadual data, menanyakan semua data dalam jadual pada satu masa akan memperlahankan kelajuan pemulangan data dan memberi banyak tekanan pada pelayan pangkalan data. Pada masa ini, anda boleh menggunakan kata kunci LIMIT untuk mengehadkan bilangan hasil pertanyaan yang dikembalikan.
LIMIT ialah kata kunci khas dalam MySQL, yang digunakan untuk menentukan rekod keputusan pertanyaan yang mula dipaparkan dan jumlah keseluruhan rekod yang dipaparkan.
Kata kunci LIMIT boleh digunakan dalam 3 cara iaitu menyatakan kedudukan awal, tidak menyatakan kedudukan awal dan digunakan dalam kombinasi dengan OFFSET.
Nyatakan kedudukan awal
Kata kunci LIMIT boleh menentukan rekod mana keputusan pertanyaan mula dipaparkan dan bilangan rekod yang dipaparkan.
LIMIT Format sintaks asas untuk menentukan kedudukan awal adalah seperti berikut:
LIMIT 初始位置,记录数
Antaranya, "kedudukan awal" menunjukkan rekod yang akan mula dipaparkan; bilangan rekod yang dipaparkan. Rekod pertama berada pada kedudukan 0 dan rekod kedua berada pada kedudukan 1. Rekod seterusnya disimpulkan mengikut urutan.
Nota: Dua parameter selepas LIMIT mestilah integer positif.
Contoh 1
Dalam jadual tb_students_info, gunakan klausa LIMIT untuk mengembalikan 5 rekod bermula daripada rekod ke-4 Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
Seperti yang anda lihat daripada keputusan, penyata ini mengembalikan 5 rekod seterusnya bermula daripada rekod ke-4. Nombor pertama "3" selepas kata kunci LIMIT bermaksud bermula dari baris 4 (kedudukan yang direkodkan bermula dari 0, dan kedudukan baris 4 ialah 3), dan nombor kedua 5 bermaksud bilangan baris yang dikembalikan.
Jangan tentukan kedudukan awal
Apabila kata kunci LIMIT tidak menyatakan kedudukan awal, rekod akan dipaparkan bermula dari rekod pertama . Bilangan rekod yang dipaparkan ditentukan oleh kata kunci LIMIT. Format sintaks asas
LIMIT tanpa menyatakan kedudukan awal adalah seperti berikut:
LIMIT 记录数
di mana, "bilangan rekod" menunjukkan bilangan rekod yang akan dipaparkan. Jika nilai "Bilangan rekod" kurang daripada jumlah bilangan hasil pertanyaan, bilangan rekod yang ditentukan akan dipaparkan bermula dari rekod pertama. Jika nilai "Bilangan rekod" lebih besar daripada jumlah hasil pertanyaan, semua rekod yang ditanya akan dipaparkan secara langsung.
Contoh 2
Paparkan 4 baris pertama hasil pertanyaan jadual tb_students_info Penyataan SQL dan hasil carian adalah seperti berikut.
mysql> SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
Hanya 4 rekod dipaparkan dalam keputusan, menunjukkan bahawa "HAD 4" mengehadkan bilangan rekod yang dipaparkan kepada 4.
Contoh 3
Paparkan 15 baris pertama hasil pertanyaan jadual tb_students_info Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT * FROM tb_students_info LIMIT 15; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.26 sec)
Hanya 10 rekod ditunjukkan dalam keputusan. Walaupun kata kunci LIMIT menentukan bahawa 15 rekod dipaparkan, terdapat hanya 10 rekod dalam hasil pertanyaan. Oleh itu, sistem pangkalan data memaparkan kesemua 10 rekod.
LIMIT dengan satu parameter menentukan bermula dari baris pertama hasil pertanyaan Satu-satunya parameter menunjukkan bilangan baris yang dikembalikan, iaitu, "LIMIT n" dan "LIMIT 0, n" mengembalikan hasil yang sama. LIMIT dengan dua argumen mengembalikan bilangan baris data yang ditentukan bermula pada sebarang kedudukan.
LIMIT boleh digunakan dalam kombinasi dengan OFFSET
LIMIT boleh digunakan dalam kombinasi dengan OFFSET Format sintaks adalah seperti berikut:
LIMIT 记录数 OFFSET 初始位置
Parameter Maksud parameter dalam sintaks LIMIT adalah sama "Kedudukan awal" menentukan rekod yang akan mula dipaparkan;
Contoh 4
Dalam jadual tb_students_info, gunakan LIMIT OFFSET untuk mengembalikan 5 rekod bermula daripada rekod ke-4 Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT * FROM tb_students_info LIMIT 5 OFFSET 3; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
Seperti yang anda lihat daripada keputusan, penyata ini mengembalikan 5 rekod seterusnya bermula daripada rekod ke-4. Iaitu, "LIMIT 5 OFFSET 3" bermaksud untuk mendapatkan 5 rekod seterusnya bermula dari rekod ke-4, iaitu sama dengan keputusan yang dikembalikan oleh "HAD 3, 5".
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Apakah penggunaan had dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!