概要
SQL(Structured Query Language)とは、「データベースを操作するための言語」です。
データベースは、たくさんの情報を整理して保存する「デジタルの倉庫」です。 SQLは、その倉庫から「この商品の在庫を教えて」「新しい顧客情報を追加して」といった 指示を出すための共通語です。
例えば、ECサイトで「¥5,000以上の注文履歴を表示する」という処理も、 裏側ではSQLを使ってデータベースに問い合わせています。
SQLの読み方について
SQLは2つの読み方があります:
| 読み方 | 説明 | 使われる地域 |
|---|---|---|
| エスキューエル | アルファベットを1文字ずつ読む | 日本で一般的 |
| シークェル | もともとの名前「SEQUEL」から | 英語圏で使われることも |
💡 ポイント: どちらも正しいです!日本では「エスキューエル」が主流ですが、 会話で「シークェル」と聞いても同じものを指しています。
SQLの4大基本操作(CRUD)
データベース操作の基本は、この4つです:
| 操作 | SQLコマンド | 意味 |
|---|---|---|
| Create(作成) | INSERT | 新しいデータを追加する |
| Read(読取) | SELECT | データを検索・取得する |
| Update(更新) | UPDATE | 既存データを変更する |
| Delete(削除) | DELETE | データを削除する |
この4つをまとめて「CRUD(クラッド)」と呼びます。 ほとんどのシステムは、このCRUD操作の組み合わせで動いています。
実際にやってみよう:SQLコマンド選択デモ
それぞれのSQLコマンドをクリックして、使い方と用途を確認してみましょう!
SQLとNoSQLの違い
データベースには大きく分けて2種類あります:
| 項目 | SQL(リレーショナル) | NoSQL |
|---|---|---|
| データ構造 | 表形式(テーブル) | 柔軟(ドキュメント、キーバリューなど) |
| 代表例 | MySQL、PostgreSQL、SQLite | MongoDB、Redis、DynamoDB |
| 得意なこと | 複雑な検索、データの整合性 | 大規模データ、高速処理 |
| 向いている用途 | 業務システム、金融システム | SNS、ログ管理、リアルタイム分析 |
💡 ポイント: どちらが優れているわけではなく、用途によって使い分けます。 初心者がデータベースを学ぶなら、まずはSQL(MySQL、PostgreSQL)から始めるのがおすすめです。
SQLの実行環境
SQLを実際に使うには、データベース管理システム(DBMS)が必要です:
よく使われるDBMS
- MySQL: 世界で最も人気のあるオープンソースDB。Webアプリケーションで広く使われる
- PostgreSQL: 高機能で拡張性が高い。大規模システムでも使える
- SQLite: ファイル1つで動く軽量DB。スマホアプリや小規模システムに最適
- Microsoft SQL Server: Windowsサーバーで使われる企業向けDB
- Oracle Database: 大企業向けの高性能DB
初心者がSQLを学ぶなら、MySQLまたはSQLiteがおすすめです。 無料で使えて、学習教材も豊富です。
SQLのよくある質問
プログラミング言語とSQLは違うの?
はい、違います。JavaScript、Pythonなどのプログラミング言語は「計算や処理の流れ」を書きます。 一方、SQLは「データベースへの命令」を書く専用言語です。
例えば、PythonやJavaScriptの中からSQLを呼び出してデータベースを操作します。
SQLインジェクションとは?
SQLインジェクションは、悪意のあるSQL文を入力欄に埋め込んで データベースを不正に操作する攻撃手法です。
例えば、ログインフォームに'; DROP TABLE users; --のような文字列を入力して、 ユーザーテーブルを削除しようとする攻撃です。
対策として、プレースホルダ(準備済み文)を使うことが重要です。
関連用語
| 用語 | 説明 |
|---|---|
| API | Web APIはSQLでデータベースを操作してデータを返す |
| データベース | SQLで操作する対象となるデータの保管場所 |
| MySQL | SQLを使うデータベース管理システムの一つ |