ホームページ  >  記事  >  データベース  >  mysqlでのlimitの使用法は何ですか

mysqlでのlimitの使用法は何ですか

青灯夜游
青灯夜游オリジナル
2021-12-02 15:33:3780199ブラウズ

mysql では、limit キーワードは主に、クエリ結果の表示を開始するレコードと、合計で表示されるレコード数を指定するために使用されます。使用構文は 3 つあります: "LIMIT 初期位置、レコード数"、"LIMIT レコード数"、および "LIMIT レコード数 OFFSET 初期位置"。

mysqlでのlimitの使用法は何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

データ テーブルに数万のデータがある場合、テーブル内のすべてのデータを一度にクエリすると、データが返される速度が低下し、データベース サーバーに多大な負荷がかかります。現時点では、LIMIT キーワードを使用して、返されるクエリ結果の数を制限できます。

LIMIT は MySQL の特別なキーワードで、クエリ結果の表示を開始するレコードと合計で表示されるレコード数を指定するために使用されます。

LIMIT キーワードは、初期位置を指定する、初期位置を指定しない、OFFSET と組み合わせて使用​​する 3 つの方法で使用できます。

初期位置の指定

LIMIT キーワードでは、クエリ結果の表示を開始するレコードと、表示するレコードの数を指定できます。

LIMIT 初期位置を指定する基本的な構文形式は以下のとおりです:

LIMIT 初始位置,记录数

このうち、「初期位置」はどのレコードから表示を開始するかを示し、「レコード数」は表示を開始するレコードの数を示します。表示されたレコード。最初のレコードは位置 0 にあり、2 番目のレコードは位置 1 にあります。後続のレコードは順番に推定されます。

注: LIMIT の後の 2 つのパラメーターは正の整数である必要があります。

例 1

tb_students_info テーブルで、LIMIT 句を使用して 4 番目のレコードから始まる 5 つのレコードを返します。SQL ステートメントと実行結果は次のとおりです。

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)

結果からわかるように、このステートメントは 4 番目のレコードから始まる次の 5 レコードを返します。 LIMIT キーワードの後の最初の数字「3」は 4 行目から開始することを意味し (記録位置は 0 から始まり、4 行目の位置は 3)、2 番目の数字 5 は返される行数を意味します。

初期位置を指定しないでください

LIMIT キーワードで初期位置を指定しない場合、最初のレコードから表示されます。 。表示されるレコードの数は、LIMIT キーワードで指定されます。

初期位置を指定しないLIMITの基本構文形式は以下のとおりです。

LIMIT 记录数

このうち、「レコード数」は表示されるレコード数を示します。 「レコード数」の値がクエリ結果の総数より小さい場合は、先頭レコードから指定した数のレコードが表示されます。 「レコード数」の値がクエリ結果の総数より大きい場合は、クエリされたすべてのレコードが直接表示されます。

例 2

tb_students_info テーブルのクエリ結果の最初の 4 行を表示します。SQL ステートメントと実行結果は次のとおりです。

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)

結果には 4 レコードのみが表示されます。これは、「LIMIT 4」が表示されるレコードの数を 4 に制限することを示しています。

例 3

tb_students_info テーブルのクエリ結果の最初の 15 行を表示します。SQL ステートメントと実行結果は次のとおりです。

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)

結果には 10 レコードのみが表示されます。 LIMIT キーワードでは 15 レコードを表示するように指定されていますが、クエリ結果には 10 レコードしかありません。したがって、データベース システムは 10 件のレコードすべてを表示します。

LIMIT を 1 つのパラメータで指定すると、クエリ結果の最初の行から開始することが指定されます。唯一のパラメータは返される行数を示します。つまり、「LIMIT n」と「LIMIT 0, n」は同じ結果を返します。 2 つの引数を指定した LIMIT は、任意の位置から始まる指定された行数のデータを返します。

LIMIT は OFFSET と組み合わせて使用​​されます

LIMIT は OFFSET と組み合わせて使用​​できます。構文形式は次のとおりです:

LIMIT 记录数 OFFSET 初始位置

パラメータと LIMIT 構文内のパラメータは同じ意味を持ち、「初期位置」は表示を開始するレコードを指定し、「レコード数」は表示するレコードの数を示します。

例 4

tb_students_info テーブルで、LIMIT OFFSET を使用して 4 番目のレコードから始まる 5 つのレコードを返します。SQL ステートメントと実行結果は次のとおりです。

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)

結果からわかるように、このステートメントは 4 番目のレコードから始まる次の 5 レコードを返します。つまり、「LIMIT 5 OFFSET 3」は、4 レコード目から次の 5 レコードを取得することを意味し、「LIMIT 3, 5」で返される結果と同じになります。

[関連する推奨事項: mysql ビデオ チュートリアル ]

以上がmysqlでのlimitの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。