Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

SQLのdelete文は、数あるステートメントの中でも比較的に使用頻度が高いものではないでしょうか。簡単な命令文で、データベース内のデータを削除することができるため、SQLのdeleteステートメントはとても使い勝手の良いですね。

一見、レコードを削除するためだけのシンプルなSQLステートメントに見えるdeleteですが、初心者の方が見落としがちなdeleteステートメントの使い方が多いようです。

そこで今回の記事ではSQL deleteの使用方法を徹底的に解説していきます。SQL文の中でも特に使用頻度の高いdeleteステートメントを駆使して、WEBアプリケーションを思ったように開発できるようにしていきましょう。

本記事の要点
  • SQLにおける「delete」の概要
  • SQL delete文の使い方

SQLのステートメント「delete」とは何か

SQLのステートメント「delete」とは、データベースのテーブルに挿入されている行(レコード)を削除するためのSQL文のことです。普段、WEBアプリケーションを使用しているとなかなか意識しづらいのですが、deleteステートメントを含めたデータベース言語は、至るところでWEBアプリケーションのCRUD機能を支えているのです。

ポテパンダの一言メモ

CRUD機能というのは、データベース管理システムのことで、作成(Create)読み取り(Read)更新(Update)削除(Delete)という4つの機能の頭文字をまとめた用語です。

今回の記事でご紹介するdeleteステートメントは、その名の通り、CRUDの「D」を担当しているSQL文です。

先ほどSQL文が「至るところでWEBアプリケーションのCRUD機能を支えている」と述べましたが、例えば以下のようなシチュエーションでSQLのdeleteステートメントは使用しされています。

SQLのdeleteステートメントは基本的にすでに登録済みのデータをデータベースから削除するというシチュエーションで使用されることがほとんどです。このように考えるとWEBアプリケーション上でSQLのdeleteステートメントが使用される場面がいくつも思いつくのではないでしょうか。

ポテパンダの一言メモ

SQLのあらましについて、こちらで軽くご紹介しておきましょう。SQLとは、データベースを扱うためのデータベース言語のうちの1つです。また、その中でもデータの操作に重きを置かれたSQLはデータ操作言語に当たります。

なぜそのような言語があるのかというと、人とコンピュータの両方が理解できる言葉が必要なためです。SQLは人がコンピュータに直接命令することができる手段の1つ。何をするにもプログラミングはコンピュータを介さなければいけないため、習得が好ましい言語だと言えるでしょう。

SQL deleteの使い方

SQLのdeleteステートメントについての概要を把握していただいた上で、次にSQLのdeleteステートメントの具体的な使用方法をご紹介していきましょう。

ポテパンダの一言メモ

本記事では、SQLのdeleteステートメントを使用する環境としてMySQLというデータベース管理システムを使用します。MySQLに関する説明は割愛しますが、まだ使用したことがないという方はこれを機に導入してみてください。

全ての行(レコード)の削除

 DELETE FROM color';

SQLのdeleteステートメントにおいて最も基本的な使い方は、全ての行(レコード)の削除です。「color」というのはテーブル名にあたり、「DELETE FROM」の後に続けて、レコード全てを削除したいテーブル名を指定することによって、全レコードの削除を行うことができます。

「DELETE FROM」は大文字になっていないといけないのですか?

そんなことはありません。「delete from」と小文字で書いても受理されます。ただしテーブル名などとSQL文を見分けるために、慣例的に大文字にする場合があります。

条件に合致した行(レコード)の削除

DELETE FROM people WHERE age < 30;
 DELETE FROM cars WHERE color='red';

条件に合致した行(レコード)の削除を行う際には、「WHERE」を使います。先ほどの例と同じく「people」や「cars」はテーブル名、そしてWHEREの後の「age」「color」テーブルカラム名です。

分かりやすく日本語に直すとすると、

DELETE FROM people WHERE age < 30;→「peopleテーブルの中で年齢が30歳未満のレコードを削除してください。」
DELETE FROM cars WHERE color=’red’;→「carsテーブルの中で色がredのレコードを削除してください。」

最初にご紹介したテーブルレコードの全削除はあまり使用頻度が高くありません。それよりは、こちらでご紹介したような条件付きのSQL deleteステートメントを使用する機会が多いはずです。例えば、以下のような機会に使用することができます。

  • 指定した日付のブログ投稿記事を削除する
  • サイトから退会した会員のデータを削除する

このように「このデータだけを削除したい」というシチュエーションで、条件に合致した行(レコード)の削除は活躍するはずです。必ず使いこなせるようになっておきましょう。

指定した数の行(レコード)削除

DELETE FROM comments LIMIT 2;

上記でご紹介したコードのように、削除するレコードの数を指定することもできます。その際には、テーブル名の後に「LIMIT」+「数値」を付け加える必要があります。

実はこの指定した数の行(レコード)削除は、先ほどご紹介した条件に合致したレコードの削除と組み合わせることによって、より一層、活躍の幅を広げることができるのです。例えば、以下のような形で組み合わせることが可能です。

DELETE FROM comments WHERE name=’Taro’ LIMIT 2;

このSQL deleteステートメントを日本語に直すとすると、「commentsテーブルのnameカラムが『Taro』のレコードを2つ削除してください」となります。

無作為にテーブルレコードを一定数削除するよりも「この条件のレコードを〇〇個削除したい」というシチュエーションの方が多いですよね。そのような際には、指定した数の行(レコード)削除を駆使していきましょう。

まとめ

今回の記事ではSQL deleteの使用方法を徹底的に解説していきました。SQL文の中でも特に使用頻度の高いdeleteステートメントを駆使して、WEBアプリケーションを思ったように開発できるようにしていきましょう。

また今回ご紹介した方法以外にもdeleteステートメントにはさまざまな使い方があります。SQL文は使いこなすことができるようになると、データベースをフレキシブルに扱うことができるようになります。ぜひ積極的にリサーチし、delete文を使いこなせるようになりましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。