構造化クエリ言語(Structured Query Language)の略称であるSQLは、特定の目的に特化したプログラミング言語です。現在人気の他のリレーショナルデータベースと同様に、すべてのプログラムやユーザーがSQLを使用してOceanBaseデータベース内のデータにアクセスできます。一部のプラットフォームやツールでは、ユーザーがインターフェースや画面を通じて直接データベースにアクセスできるようになっていますが、これらのプラットフォームやツールの内部では実際には依然としてSQLが使用されています。
SQLの歴史
1970年6月、カリフォルニア州サンノゼにあるIBMの研究所でE・F・コッド博士が、ACM(Association for Computing Machinery)の学術雑誌に論文「大規模共有データバンクのための関係モデル」(A Relational Model of Data for Large Shared Data Banks)を発表し、初めて関係モデルという概念を提唱しました。
1974年、同研究所のD・D・チェンバリンとR・F・ボイスは、IBMが開発した関係データベースシステムSystemRにおいて、構造化英語クエリ言語(SEQUEL)という標準化された言語を開発しました。そして1976年11月のIBM Journal of R&Dにおいて、新バージョンのSQL(SEQUEL/2と呼ばれ、1980年にSQLへと改名されました)を公開しました。
1979年、Oracle社が初めて商用SQLを提供しました。同時期にIBM社もDB2およびSQL/DSデータベースシステムにSQLを実装しました。
今日に至るまで、SQLは関係データベース管理システム(Relational Database Management System:RDBMS)の標準言語となっています。
SQLの標準
1986年10月、米国国家規格協会(ANSI)は、SQLを関係データベース管理システムの標準言語として採択し、ANSI X3.135-1986と命名しました。その後、国際標準化機構(ISO)もSQLを国際標準として採用しました。
1989年、ANSIはANSI X3.135-1989報告書で定義されたSQL標準言語を採用し、ANSI SQL 89と称しました。この標準は、それ以前のANSI X3.135-1986版に取って代わりました。
以下は、SQLの発展の概要です:
1986年、ANSI X3.135-1986、ISO/IEC 9075:1986、SQL-86。
1989年、ANSI X3.135-1989、ISO/IEC 9075:1989、SQL-89。
1992年、ANSI X3.135-1992、ISO/IEC 9075:1992、SQL-92(SQL2)。
1999年、ISO/IEC 9075:1999、SQL:1999(SQL3)。
2003年、ISO/IEC 9075:2003、SQL:2003。
2008年、ISO/IEC 9075:2008、SQL:2008。
2011年、ISO/IEC 9075:2011、SQL:2011。
現在、一般的に言及されるほとんどのSQL標準は、実際にはSQL 92の中でも最も基本的かつ核心的な部分に関連しています。OceanBaseデータベースも現在、SQL 92標準に従っており、その後のSQL標準の一部の重要な機能もサポートしています。
SQLの実行
SQLは、OceanBase、Oracle、MySQLなどの関係データベースにアクセスするためのインターフェースであり、すべてのSQL文はデータベースに対する操作命令です。
通常、SQLは以下の5つの部分に分類されます:
データクエリ言語(Data Query Language):データ検索言語とも呼ばれ、テーブルからデータを取得し、プログラムにデータを返して出力する方法を記述します。DQLは、データベース内に保存されているデータ内容を変更しません。
データ操作言語(Data Manipulation Language):データベース内に保存されているデータ内容を変更するための言語であり、データの追加、変更、削除を行います。
トランザクション制御言語(Transaction Control Language):データベースの整合性と一貫性を保証し、同一トランザクション内のDML文は全て同時に成功するか、または同時に失敗するかのいずれかです。
データ制御文(Data Control Language):データアクセス権限を制御するためのコマンドです。特定のアカウントに対して、特定のデータベースリソースへのアクセス権限を制御できます。
データ定義言語(Data Definition Language):データベース内のリソースを定義、変更、削除するための言語であり、例えばテーブルの作成や削除などが含まれます。
SQLの移植性
SQLはデータベースにアクセスするための標準言語であり、主要な関係データベースはすべてSQLをサポートしているため、SQLで記述されたプログラムはすべて移植可能です。通常、わずかな修正を加えるだけで、ある関係データベースから別の関係データベースへ移植できます。
用語の慣例
太字 は、操作またはテキストや語彙表で定義された用語に関連付けられるグラフィカルユーザーインターフェース要素を示します。
予約語、キーワード、識別子、およびパラメータは大文字と小文字を区別しません。読みやすく識別しやすいように、これらの単語は大文字で表記されます。
異なるプログラミング環境では、SQL文の終了方法が異なります。本ドキュメントでは、セミコロン「;」を使用してSQL文の終了を示します。
行内コードは、ドキュメント内で引用されるコードを示します。重要な情報を強調するため、本ドキュメントでは「説明」「注意」「重要」などの文字を太字で表示します。
本ドキュメントでは、オプションパラメータのテキストは角括弧で囲まれています。例えば、 [-n, -quiet] です。