SQLとは?正式名称と基本チュートリアル

⚡ スマートサマリー

SQLとは何ですか?構造化クエリ言語は、リレーショナルデータベースを操作するための標準言語です。スキーマの作成、レコードのクエリ、行の更新、権限の管理、および最新のアプリケーションを次のようなエンジンに接続することができます。 PostgreSQL, MySQL、SQL Server。

  • 📘 定義: SQLはStructured Query Languageの略で、リレーショナルデータベース内のデータを定義、照会、制御するために使用されるANSIおよびISO規格です。
  • 🧩 ステートメントの種類: DDL、DML、DCL、TCL、およびDQLは、CREATE、INSERT、UPDATE、DELETE、SELECT、およびDROPなどのコマンドをグループ化します。
  • 🏛️ 標準: ANSI SQL:2023 ではネイティブ JSON サポートが追加され、 PostgreSQL- 標準プロパティグラフクエリ (SQL/PGQ) のスタイル。
  • ⚙️ エンジン: PostgreSQL 17、 MySQL 8, Oracle 23aiとSQL Server 2022はいずれも、最新のSQL標準の大部分を実装しています。
  • 🆚 SQLとNoSQLの比較: SQLはスキーマ、結合、ACIDトランザクションを強制する一方、NoSQLは厳格な構造よりも水平スケーラビリティと柔軟なドキュメントを優先する。
  • 🤖 AIの視点: GitHub CopilotやVanna AIといったテキストからSQLへの変換アシスタントは、平易な英語の質問を実行可能なSQLクエリに変換するようになった。

SQLとは何ですか?

SQLとは何ですか?

SQL SQLは、リレーショナルデータベースを操作するための標準言語です。レコードの挿入、検索、更新、削除に使用され、データベースの最適化と保守も可能です。SQLはANSIおよびISO規格であるため、同じコア構文が、などのエンジンで動作します。 PostgreSQL, MySQL, Oracle、SQL Server。

SQL 完全形式

SQLとは 構造化照会言語「SQL」または「シーケル」と発音します。 IBM 1970年代に開発されたリレーショナルデータベースなど MySQL, Oracle Database, Microsoft SQL Server, PostgreSQL, SAP SybaseはANSI SQLを基盤として使用している。

SQLの使用方法

SQLを実行するには、操作、対象テーブル、およびフィルタ条件を指定するステートメントを記述します。30歳以上のメンバーを返すSELECTクエリは次のようになります。

SELECT * FROM Members WHERE Age > 30;

データベース間の構文は、主要なエンジンがすべてANSI標準を実装しているため、ほぼ同様です。一部のRDBMS製品は独自のダイアレクトを追加しており、たとえばSQL ServerのT-SQLやPL/SQLなどがあります。 Oracle.

詳しくはこちら こちら ビデオにアクセスできない場合

SQLは何に使われるのですか?

SQLを使用する重要な理由を以下に示します。

  • ユーザーがデータにアクセスするのに役立ちます RDBMSシステム.
  • それはデータの説明に役立ちます。
  • これにより、データベース内のデータを定義し、その特定のデータを操作できるようになります。
  • SQL を使用すると、データベースとテーブルを作成および削除できます。
  • SQLを使うと、データベース内の関数を使用したり、ビューを作成したり、ストアドプロシージャを記述したりできます。
  • テーブル、プロシージャ、ビューに権限を設定できます。
  • SQLは、レポート作成、ビジネスインテリジェンス、機械学習パイプラインへのデータ供給といった分析タスクをサポートします。

SQL の簡単な歴史

SQL の歴史の重要なランドマークを次に示します。

  • 1970 – エドガー F. “テッド” コッド博士がデータベースのリレーショナル モデルについて説明しました。
  • 1974年 – 構造化クエリ言語が登場 IBM 研究。
  • 1978 年 IBM System/R をリリースしました。
  • 1986年 – ANSIはSQLをSQL-86として標準化した。
  • 1989年 – SQL標準の最初の商用版が公開された。
  • 1999年 – SQL:1999でトリガーとオブジェクト指向機能が追加されました。
  • SQL:2003 – ウィンドウ関数とXML機能。
  • SQL:2006 – XMLクエリ言語のサポート。
  • SQL:2011 – テンポラルデータベースのサポート。
  • SQL:2016 – JSON、行パターン認識、ポリモーフィックテーブル関数。
  • SQL:2023 – プロパティグラフクエリ(SQL/PGQ)とより厳密なJSON処理。

SQLステートメントの種類

以下に、広く使用されている5種類のSQL文を示します。

  • データ定義言語(DDL)
  • データ操作言語(DML)
  • データ制御言語(DCL)
  • トランザクション制御言語 (TCL)
  • データクエリ言語(DQL)

SQLコマンドのリスト

以下は、最もよく使われるもののリストです。 SQLコマンド:

  • CREATE – データベースの構造またはスキーマを定義します。
  • INSERT テーブルの行にデータを挿入します。
  • UPDATE ―データベース内の既存データを更新します。
  • DELETE – テーブルから1つ以上の行を削除します。
  • SELECT – WHERE句で指定された条件に一致する属性を選択します。
  • DROP – テーブルとデータベースを削除します。
  • MERGE 一致条件に基づいて、単一のステートメントでINSERTまたはUPDATEを実行します。

SQLプロセス

SQLコマンドを実行すると、データベースエンジンはステートメントを解析し、実行プランを選択して、ストレージ層に対して実行します。

このプロセスにおける重要な要素は以下のとおりです。

  • SQLクエリエンジン
  • 最適化エンジン
  • クエリディスパッチャー
  • クラシッククエリエンジン

従来のクエリエンジンは非SQLクエリを処理し、SQLクエリエンジンは構造化されたワークロードを処理します。

SQLプロセス
SQLプロセス

SQL標準

SQLは、データベースの作成、削除、行の取得と変更、およびアクセス制御をカバーします。これはANSI(米国国家規格協会)およびISO規格であり、現在の版は ISO / IEC 9075:2023一般的にSQL:2023と呼ばれる規格です。この規格はいくつかの部分に分かれています。

パーツ 詳細説明
パート 1 – SQL/フレームワーク 他のすべての部分の基礎となる論理的な概念を提供する。
パート 2 – SQL/Foundation SQLの中心的な構文と意味論を定義します。
パート 3 – SQL/CLI ODBCおよび類似のドライバで使用される呼び出しレベルインターフェイスを指定します。
パート 4 – 永続的に保存されたモジュール ストアド ルーチン、外部ルーチン、および SQL の手続き型言語拡張。
パート 9 – 外部データの管理 SQLがファイルなどの非SQLデータソースにアクセスできるようにする構文と定義を追加します。
パート 10 – オブジェクト言語のバインディング SQL を埋め込む構文と意味論を指定します。 Java.
パート 11 – SQL/スキーマ 情報スキーマと定義スキーマ。
パート13 – SQL/JRT SQLルーチンと型を使用する Java プログラミング言語。
パート 14 – SQL/XML SQLとXML(XMLTYPEおよびXQueryとの統合を含む)。
パート 15 – SQL/MDA 多次元配列に対するSQLサポートを提供します。
パート16 – SQL/PGQ SQL:2023で、リレーショナルテーブル上にプロパティグラフクエリを定義する機能が追加されました。

最新のSQLエンジン

各エンジンはANSIコアの大部分を実装し、独自の拡張機能を追加しています。

  • PostgreSQL 17: 厳格な標準規格に準拠したオープンソースソフトウェアで、豊富なJSONサポートを備えています。
  • MySQL 8: ウェブアプリケーションでよく使われ、ウィンドウ関数、CTE、およびドキュメントストアモードをサポートしています。
  • Microsoft SQL Server 2022: クエリインテリジェンスを備えたエンタープライズエンジンと Azure シナプスミラーリング。
  • Oracle Database 23ai: SQLとベクトル検索、そしてJSONとリレーショナルデータの二重性ビューを組み合わせたものです。
  • SQLite: モバイルアプリやブラウザに組み込まれた、軽量なファイルベースのエンジン。

クラウド倉庫など Amazon 赤方偏移、 Google BigQueryとSnowflakeはANSI SQLの方言も公開しており、ラップトップからペタバイト規模の分析まで、言語の移植性を高めている。

SQL言語の要素

SQL言語の重要な要素は以下のとおりです。

  • キーワード: SELECT、FROM、WHEREなどの予約語は、すべてのステートメントを構成する要素です。
  • 識別子: ユーザーID、テーブル、列など、データベースオブジェクトの名前。
  • 文字列: リテラル文字列、またはVARCHAR型もしくはCHAR型のデータ型を持つ式。
  • 式: 定数、SQL演算子、列名、およびサブクエリから構成されます。
  • 検索条件: 行をフィルタリングしたり、IFなどの制御フロー文を使用したりします。
  • 特別な値: 式や列のデフォルト値で使用されるCURRENT_TIMESTAMPなどの値。
  • 変数: ほとんどのエンジンは、ストアドプロシージャ内でローカル変数、グローバル変数、および接続レベル変数をサポートしています。
  • コメント: 単一行コメント(–)とブロックコメント(/* */)はSQLを記述するものですが、実行されません。
  • NULL 値: NULLは、不明、欠落、または該当しない値を表します。

SQLにおけるデータベースとは何ですか?

A データベース テーブルとは、構造化データを格納するテーブルの集合です。テーブルは、行(レコードまたはタプル)と列(属性)で構成されます。

各列には、名前、日付、金額、数値など、特定の種類の情報が格納されます。テーブル間の関係は主キーと外部キーによって確立され、これがデータベースを「リレーショナル」たらしめている所以です。

NoSQLとは何ですか?

NoSQL のカテゴリです データベース管理システム その主な特徴は、関係概念に固執しないことである。NoSQLは「SQLだけではない」という意味である。このカテゴリは、次のようなインターネットの巨人とともに成長した。 Google、Facebook、および Amazon膨大なデータ量を扱う人々。

リレーショナルデータベースが膨大なデータ量を処理する場合、応答速度が低下する可能性があります。ハードウェアをアップグレードすることで「スケールアップ」するか、複数のホストに負荷を分散することで「スケールアウト」することができます。

NoSQLデータベースは 非リレーショナル Web アプリケーション用に設計されたストア。必ずしも SQL を使用したり、厳密なスキーマを強制したりするわけではなく、ACID (Atom(信頼性、一貫性、隔離性、耐久性)特性は、現代のシステムでは必ずしも保証されるわけではありませんが、 MongoDB (NAIST) と Cassandra トランザクションモードの調整機能を提供開始しました。



NoSQLの後にSQLを学ぶべき理由

NoSQLはリレーショナルモデルよりもスケーラブルであることを考えると、 なぜ今でもSQLを学ぶ人がいるのかNoSQLデータベースは、大規模で非構造化データセットに特化した最適なデータベースですが、ほとんどのビジネスアプリケーションは依然としてリレーショナルデータベースとそのツールに依存しています。

リレーショナルデータベースは、NoSQLに比べて以下の利点を保持しています。

  • 成熟したデータストレージおよび管理モデルは、企業ユーザーにとって不可欠である。
  • ビュー機能をサポートし、ユーザーが承認されたデータのみを閲覧できるようにします。
  • ビジネスロジックをデータベースに反映させるストアドプロシージャをサポートします。
  • より強力なセキュリティモデル、ロールベースのアクセス制御、および監査機能。
  • SQLは、構造化された入力を必要とするBI、ダッシュボード、AIツールの共通言語です。

リレーショナルデータベースを扱える専門家の需要は 成長したがって、SQLの基礎を学ぶことは依然として明確なメリットがある。

SQLとAI:テキストからSQLへの変換ツール

SQLは現在、AIアシスタントのターゲット言語となっている。 テキストからSQLへの変換 ツールは、「前四半期の売上高上位10社の顧客を表示」といった平易な英語の質問を、実行可能なSQLに変換します。人気のあるオプションには以下のようなものがあります。 GitHubコパイロット, ヴァンナAI, Microsoft 副操縦士 Azure SQL、および Oracle AIを選択してください。生成されたSQLは、本番データで実行する前に、必ず正確性、セキュリティ、インデックス作成について確認してください。

SQLを学ぶためのおすすめ書籍

以下は、おすすめのSQL関連書籍の一部です。

  • SQL初心者向けチュートリアル:

    この 初心者向け SQL チュートリアル このPDFでは、基本的なデータベースの概念、MS-SQLコマンド、およびSQL結合などの高度なトピックについて解説しています。

  • 10 分でわかる SQL: フルカラーのコード例で、SQL文の構造、ショートカット、既成のソリューションを解説します。 今すぐ購入
  • SQL クックブック: SQLを使って文字列を走査し、文字や区切り文字を解析するなどの手法。 今すぐ購入
  • SQL: The Complete Reference: ウィンドウ関数、行を列にピボットする操作、および逆ピボット操作について説明します。 今すぐ購入
  • SQLポケットガイド: SQL関数、正規表現構文、型変換について解説します。 今すぐ購入

その他のSQL関連書籍については、こちらをご覧ください。 こちらをクリックしてください

よくあるご質問

SQLはStructured Query Languageの略です。発音は「SQL」の3文字と読むか、「シーケル」と読むかのどちらかで、後者は元々の言語から受け継がれたニックネームです。 IBM SEQUELのプロトタイプは1970年代に開発された。

SQLは、リレーショナルデータベースにクエリを実行するための標準化された言語です。 MySQL SQLを実装しているデータベース管理システムの1つです。SQLを使用する他のエンジンには、 PostgreSQL, Microsoft SQL Server, Oracle Database, SQLite.

現在の標準規格はISO/IEC 9075:2023で、一般にSQL:2023と呼ばれています。この規格では、プロパティグラフクエリのためのパート16であるSQL/PGQが追加され、SQL:2016で導入されたJSONおよび行パターン機能を基に、JSONの処理が明確化されました。

はい。テキストからSQLへの変換ツールなど GitHubコパイロットヴァンナAI、そして Microsoft 副操縦士 Azure SQLは、平易な英語のプロンプトをクエリに変換します。生成されたSQLを実行する前に、必ずその正確性、セキュリティ、およびインデックス作成状況を確認してください。

SQL はトレーニングデータを準備します。特徴量エンジニアリング、結合、フィルタリング、集計はすべてデータウェアハウスで行われます。 Oracle 23ai、BigQuery ML、そして PostgreSQL pgvector を使用すると、検索機能を強化した生成のために、SQL 内でベクトル類似性検索を直接実行できるようになりました。

ほとんどの初心者は、2~3週間集中的に練習すれば、基本的なSELECT、INSERT、UPDATE、DELETE文を作成できるようになります。結合、サブクエリ、ウィンドウ関数、クエリチューニングといった中級レベルのスキルを習得するには、通常、数か月間の継続的な実践作業が必要です。