技術資料

MySQLのLIMIT句を使いこなす:SELECT, UPDATE, DELETEの件数制限方法

2010.11.18

error この記事は最終更新日から14年以上が経過しています。

MySQL で、指定した件数のみ何らかの処理を行いたいときは、LIMIT句を利用します。

SELECT文の場合

ORDER BY句の次に LIMIT句を書いて、件数指定します。
ORDER BY句は使用しなくても構いませんが、使用しないと当然意図した順番通りに抽出することができません。

最初の50件のみを SELECT文で抽出したい場合は、

select * from table_name order by user_id limit 50;

と書けば、user_id の昇順で、50件のみ抽出されます。

また、50件目以降のデータを100件抽出したい、というような場合は、

select * from table_name order by user_id limit 50, 100;

と書くことで、実現できます。

UPDATE文・DELETE文の場合

SELECT文と同様に、ORDER BY句の次に LIMIT句を書いて、件数指定します。
こちらも同様に、ORDER BY句は使用しなくてもいいですが、意図した順番通りの処理ができないので結果は SELECT文以上に致命的ですw

update table_name set user_flag = 1 order by user_entry_date limit 50;
delete from table_name order by user_entry_date limit 50;

上記のように書くと、例えば user_entry_date が古いデータから順に50件に、user_flag を立てる、データを消す、というような処理を行なえます。

なお、UPDATE文や DELETE文では、残念ながら、SELECT文のように「limit 50,100」というような指定はできないようです。

PHPとOpenAI APIで簡単なチャットシステムのコードを書いてみた

2023.04.13

PHPとOpenAI APIを使ってチャットボットを作成し、ユーザーとAIが対話できる基本的なプログラムを紹介します。サーバーに保存したチャット履歴を基に、APIから取得したレスポンスをデータベースに記録し、チャット形式で対話を進めていくサンプルコードを用意しました。

MySQL OpenAI API PHP

PHPでMySQLに接続してデータを取得する基本テンプレ

2023.04.11

PHPでMySQLに接続し、データを取得する基本的な手順のテンプレ。mysqli拡張を使用したデータベース接続から、SQLクエリ実行、結果の取得までの処理を掲載しています。

MySQL PHP

INNER JOINとLEFT JOINの違いを理解する

2023.04.09

SQLでのテーブル結合には、主にINNER JOINとLEFT JOINがありますが、これらの違いを理解することは重要です。この記事では、二つのテーブルを使用して、それぞれの結合方法を実行した結果を比較し、INNER JOINがどうデータをフィルタリングし、LEFT JOINがどう欠損データも取得するかを解説します。

MySQL

perlでMySQLを操作する基本的なテンプレート

2023.04.08

perlでMySQLデータベースを操作するための基本的なテンプレートを紹介します。DBIモジュールを使用してデータベースに接続し、SQLクエリを実行する方法を解説。

MySQL Perl

阿部辰也へのお仕事の依頼・お問い合わせ

お名前 *必須
会社名
メールアドレス *必須
電話番号
URL
お問い合わせのきっかけ
お問い合わせの内容 *必須
個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP