SQL の略: コマンド、定義、例

SQL の略: コマンド、定義、例

SQL は、データベース開発からデータ サイエンス、機械学習に至るまで、さまざまな業界で最も広く使用されている言語の 1 つです。データベース管理者はデータベースの作成と保守にこれを使用しますが、データ サイエンティストやアナリストはデータの抽出、変換、ロードにほぼ毎日使用します。

SQL は Structured Query Language の略で、リレーショナル データベース管理システム (RDBMS) でデータを管理および操作するために設計されたドメイン固有のプログラミング言語です。

データベースの世界を深く掘り下げて SQL の学習を始めると、SQL をユニバーサル言語と呼ぶ専門家に頻繁に遭遇します。これは、SQL が MySQL、SQL Server、Oracle などのリレーショナル データベース システムで広く使用されていることを意味します。

簡単に言うと、SQL を一度学習すれば、世の中のすべてのリレーショナル データベースでデータを作成、管理、クエリできるようになります (そして、そのプロセスをとても楽しむことができます)。

この時点で、おそらくリレーショナル データベースとは何なのか疑問に思っているでしょう。SQL および SQL データベースの使用を開始する前に、リレーショナル データベースの基本概念をしっかりと理解しておく必要があります。

それでは、リレーショナル データベースについて簡単に見てみましょう。

目次

リレーショナル データベースとは何ですか?

リレーショナル データベースは、データをテーブルに編成するデータベースの一種です。各テーブルは、操作できる行と列で構成されます。これらのテーブルはリレーションとも呼ばれ、そのため「リレーショナル データベース」と呼ばれています。

SQL の略: コマンド、定義、例

リレーショナル データベースの主な利点は、キーを使用してテーブル間の関係を確立できることです。このプロパティは、データの一貫性と整合性を維持し、効率的なクエリを容易にするのに役立ちます。

リレーショナル データベースを操作するときは、SQL を使用してデータを作成、変更、クエリします。

他のプログラミング言語と同様に、SQL および SQL データベースを使い始めるには、SQL 言語の構文を理解する必要があります。幸いなことに、SQL の構文は他のプログラミング言語とは大きく異なるため、基本を理解するのは簡単です。

SQL言語の構文を見てみましょう!

SQLの構文とは何ですか?

SQL には多くの使用例があり、各使用例には独自の構文セットがあります。ユースケースは次の 4 つのブランチに分けることができます。

  1. データ定義言語 (DDL)

  2. データ操作言語 (DML)

  3. データ制御言語 (DCL)

  4. データクエリ言語 (DQL)

上記のすべての使用例の構文を知る必要はない可能性が高くなります。たとえば、データ アナリストの場合は、主にクエリ構文を使用して作業することになります。ただし、すべての使用例に精通していると、より効率的な SQL コードを作成するのに役立ちます。

以下のセクションでは、上記の各分岐の意味を確認し、続いて SQL の構文をよりよく理解するのに役立つ例を示します。

1. データ定義言語 (DDL)

DDL は、データベース、テーブル、その他のオブジェクトの構造を処理する SQL コマンドのサブセットです。一般的な DDL コマンドには次のようなものがあります。

  • テーブルの作成

  • 他の机

CREATE TABLE で新しいテーブルを作成する

SQL の CREATE TABLE を使用すると、指定した列とデータ型で新しいテーブルを作成できます。以下に CREATE TABLE コマンドの例を示します。

CREATE TABLE employees (
    id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    birth_date DATE
);

これらの SQL ステートメント コードは、指定された列プロパティを持つemployeesという名前の新しいテーブルを作成します。

SQL の略: コマンド、定義、例

ALTER TABLE を使用して既存のテーブルに列を追加する

ALTER TABLE を使用すると、列の追加や削除など、既存のテーブルを変更できます。以下に、ALTER TABLE を使用して既存のテーブルに新しい列を追加する例を示します。

ALTER TABLE employees
ADD COLUMN email VARCHAR(100);

これらの SQL ステートメントは、VARCHAR データ型で最大長 100 文字の「email」という新しい列を既存の「employees」テーブルに追加します。

SQL の略: コマンド、定義、例

ALTER TABLE を使用して既存のテーブルから列を削除する

ALTER TABLE を使用して、データベース内の既存のテーブルから列を削除することもできます。以下の例では、ALTER TABLE を使用してテーブルから列を削除します。

ALTER TABLE employees
DROP COLUMN email;

このコマンドは、「employees」テーブルから「email」列を削除します。

SQL の略: コマンド、定義、例

DROP TABLE を使用してテーブル全体を削除する

データベースからテーブル全体を削除するには、DROP TABLE ステートメントを使用します。DROP TABLE ステートメントを使用してテーブル全体を削除する次の例を見てください。

DROP TABLE employees;

このコマンドは、すべてのデータと制約を含む「employees」テーブル全体を削除します。

SQL の略: コマンド、定義、例

2. データ操作言語 (DML)

DML は、データベース内に保存されているデータの操作と変更に焦点を当てています。主要な DML コマンドには次のものがあります。

  • に挿入

  • 選択する

  • アップデート

  • 消去

INSERT INTO を使用してテーブルにデータを追加する

テーブルを作成したら、そこにデータを追加します。これを行うには、INSERT INTO ステートメントを使用します。

以下の例は、上で作成した従業員テーブルにデータを追加する方法を示しています。

INSERT INTO employees (id, first_name, last_name, birth_date)
VALUES (1, 'John', 'Doe', '1985-03-20');

INSERT INTO employees (id, first_name, last_name, birth_date)
VALUES (2, 'Jane', 'Smith', '1990-06-15');

INSERT INTO employees (id, first_name, last_name, birth_date)
VALUES (3, 'Alice', 'Johnson', '1987-09-12');

INSERT INTO employees (id, first_name, last_name, birth_date)
VALUES (4, 'Bob', 'Williams', '1992-01-23');

INSERT INTO employees (id, first_name, last_name, birth_date)
VALUES (5, 'Charlie', 'Brown', '1988-11-07');

上記の SQL ステートメントは、employeesテーブルに 5 つの新しいエントリを追加します。

DELETE を使用してテーブルからデータを削除する

DELETE ステートメントを使用すると、データ テーブルからレコードを削除できます。

ID が 3 の従業員を「従業員」テーブルから削除するとします。次の DELETE ステートメントを使用できます。

DELETE FROM employees
WHERE id = 3;

SELECT を使用してテーブルからデータを取得する

SELECT ステートメントは、データ アナリストや科学者が最も頻繁に使用するステートメントの 1 つです。データテーブルに保存されているデータを取得できます。

以下の例では、SELECT ステートメントを使用して、employeesテーブルに格納されているデータを取得します。

SELECT * FROM employees;

「*」は、 employeesテーブル内のすべてのデータを破棄するようにコンパイラに指示します。

SQL の略: コマンド、定義、例

UPDATE を使用してテーブル内の既存のデータを変更する

テーブルに格納されているデータに変更を加えたい場合は、SQL で UPDATE ステートメントを使用できます。

「employees」テーブル内の ID が 1 の従業員の last_name を更新するとします。次の UPDATE ステートメントを使用できます。

UPDATE employees
SET last_name = 'UpdatedLastName'
WHERE id = 1;

これらの SQL ステートメントは、id が 1 に等しいemployees テーブル内の last_name を変更します。

SQL の略: コマンド、定義、例

3. データ制御言語 (DCL)

DCL を使用すると、データベース内のアクセスと権限を管理できます。DCL コマンドを使用すると、ユーザー権限を付与、取り消し、または変更できます。

一般的な DCL コマンドには次のようなものがあります。

  • 許す

  • 取り消す

GRANT を使用してユーザーまたはグループの権限を指定する

「employees」テーブルに対する SELECT 権限と INSERT 権限を「user1」という名前のユーザーに付与するとします。次の GRANT ステートメントを使用できます。

GRANT SELECT, INSERT ON employees TO user1;

これらの SQL ステートメントにより、「user1」は「employees」テーブルにデータを SELECT および INSERT することができます。

REVOKE を使用してユーザーまたはグループから特定の権限を削除する

「employees」テーブルの「user1」から INSERT 権限を削除する場合は、次の REVOKE ステートメントを使用できます。

REVOKE INSERT ON employees FROM user1;

これらの SQL ステートメントは、「employees」テーブルの「user1」から INSERT 権限を削除しますが、テーブルからのデータの SELECT は引き続き許可されます。

4. データクエリ言語 (DQL)

DQL はデータベースからのデータの取得のみを処理します。SQL では、主な DQL コマンドは SELECT です。SELECT コマンドを使用すると、取得する列を定義し、フィルターを適用し、複数のテーブルを結合できます。

次の例では、DQL ステートメントを使用してデータを取得し、それにフィルターを適用します。

SELECT *
FROM employees
WHERE birth_date > '1990-01-01'
ORDER BY birth_date ASC;

これらの SQL ステートメントでは、WHERE 句で、birth_date が「1990-01-01」より大きい行のみを返すように指定しています。ORDER BY ステートメントは結果を昇順に並べ替えます。

SQL の略: コマンド、定義、例

SQL の重要な側面の 1 つは、作業している環境に SQL を簡単に統合できることです。たとえば、Python でアプリケーションを作成している場合、SQL と Python を統合して、Python 内で SQL クエリを実行できます。

SQL を使用してデータをクエリする方法について詳しくは、次のビデオをご覧ください。

次のセクションでは、SQL がサポートする一般的な統合について説明します。さあ、始めましょう!

SQL 言語の汎用性と統合

SQL は、Python、C++、Java などの言語と簡単に統合できます。データ分析またはデータ サイエンス プロジェクトに取り組むと、SQL と他のプログラミング言語の統合の有効性が実感できるでしょう。シームレスな統合により、大規模なデータセットを効率的に処理できます。

SQL とそのプログラミング言語との統合の主な利点は次のとおりです。

  • Python : Python の pandas ライブラリを使用すると、SQL データベースからデータを読み書きできるため、スムーズな SQL 統合が可能になります。さらに、SQLAlchemy のようなライブラリは、SQL とPythonを併用してリレーショナル データベースを操作するための強力なサポートを提供します。

  • C++ : sqlpp11 や nanodbc などのライブラリを使用すると、C++ コード内で SQL を使用してリレーショナル データベースに接続し、対話することができます。これらのライブラリを使用すると、C++ 環境での SQL クエリの実行とデータベース接続の管理が簡単になります。

  • Java : Java の JDBC API により、シームレスな SQL データベース統合が可能になります。JDBC を使用すると、Java コードから接続、クエリの実行、データの操作を行うことができます。

これらのプログラミング言語と SQL を併用すると、データ分析の習熟度が向上します。これにより、より効率的で堅牢なデータ駆動型ソリューションを作成できるようになります。

SQL のアプリケーションが広く普及しているため、いくつかのトップ企業は SQL を主言語として使用する独自のリレーショナル データベース管理システムを構築しています。これらのデータベースに関する知識は、プラットフォーム間で作業するのに役立ちます。

次のセクションでは、主要なリレーショナル データベース管理システムのいくつかをリストしました。

一般的なリレーショナル データベース管理システムにはどのようなものがありますか?

SQL 言語を調べていくと、格納されたデータを管理および操作するための主言語として SQL を使用するさまざまなリレーショナル データベース管理システムに出会う​​ことができます。各 SQL 実装には、独自の機能と構文のバリエーションがあります。

SQL の略: コマンド、定義、例

一般的な RBDMS とその SQL 実装には、MySQLSQL ServerOracleOracle v2PostgreSQL などがあります。

1.MySQL

MySQL は、Oracle Corporation によって開発されたオープンソースのデータベース管理システムです。Web アプリケーションや Oracle データベースで広く使用されており、速度、信頼性、使いやすさで知られています。

MySQL は標準 SQL をサポートし、全文検索、トランザクション、空間データ型などのさまざまな追加機能を提供します。

2.SQLサーバー

MS SQL Server は、Microsoft のエンタープライズ レベルのリレーショナル データベース管理システム (RDBMS) です。統合サービス、レポート、分析サービスなど、エンタープライズ レベルのデータ管理に必要なツールと機能を包括的に提供します。

MS SQL Server は、SQL Server に固有の追加構造と機能で標準 SQL を拡張するT-SQLを含む、さまざまなプログラミング言語のサポートを提供します。

3. オラクル

Oracle は、Oracle Corporation によって開発された RDBMS であり、高レベルのデータ セキュリティ、パフォーマンス、およびスケーラビリティを必要とする大企業や企業にサービスを提供しています。

Oracle は、パーティショニング、オンライン インデックスの再構築、プラガブル データベース、マテリアライズド ビューなどの高度な機能を提供します。

Oracle v2 は Oracle RDBMS の古いバージョンにすぎず、コア機能は共有していますが、後のバージョンで導入された特定の機能が欠けている可能性があります。

4.ポストグレSQL

PostgreSQL は、オープンソースのオブジェクト リレーショナル データベース管理システム (ORDBMS) です。拡張性と SQL 準拠を重視しています。

PostgreSQL は、高度なデータ型、インデックス付け方法、および共通テーブル式 (CTE) やウィンドウ関数などの多彩なクエリ オプションのサポートで際立っています。

市場で入手可能なこれらすべてのオプションを考えると、どの RDBMS と SQL の実装がより優れているか疑問に思うかもしれません。この質問に対する答えは、プロジェクトの要件にまで掘り下げていきます。

良いアプローチは、まずプロジェクトの要件を理解し、次に要件に対応できる RDBMS を探すことです。

最終的な考え

膨大な量のデータが毎日生成されているため、データはデジタル世界の燃料となっています。このデータを効果的に利用するには、SQL のような強力なツールが必要です。

データ サイエンス、データ分析、ビジネス分析、機械学習の専門家として、SQL をマスターすることは不可欠です。実際、SQL の熟練度は、雇用主があなたを雇用するか拒否するかの決定要因となる可能性があります。

SQL は、雇用市場における価値を超えて、データ分野で働く個人にとって非常に貴重です。専門家は、データ作業の最大 80% にはデータのクリーニングと管理が含まれており、SQL は非常に優れた処理能力を備えていると推定しています。

さらに、SQL と Python、C++、Java などのさまざまなプログラミング言語との統合により、その適用範囲が広がります。これにより、堅牢なデータ駆動型ソリューションを作成できます。

SQL を学習すると、競争力が高まり、職業上の課題に取り組むための多用途のツールが得られます。

したがって、データ管理と分析の広大な環境をナビゲートする際には、SQL が強力な相棒であることを忘れないでください。SQL の強力な構文と広く使用されているため、SQL をマスターすると、テクノロジーの世界に多くのチャンスが広がります。ぜひご質問ください。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて