Dbms-sql-overview

提供:Dev Guides
移動先:案内検索

SQLの概要

SQLは、リレーショナルデータベース用のプログラミング言語です。 関係代数とタプル関係計算に基づいて設計されています。 SQLは、RDBMSのすべての主要なディストリビューションを備えたパッケージとして提供されます。

SQLは、データ定義言語とデータ操作言語の両方で構成されています。 SQLのデータ定義プロパティを使用すると、データベーススキーマを設計および変更できますが、データ操作プロパティを使用すると、SQLでデータベースにデータを保存および取得できます。

データ定義言語

SQLは、次の一連のコマンドを使用してデータベーススキーマを定義します-

作成

RDBMSから新しいデータベース、テーブル、およびビューを作成します。

-

Create database finddevguides;
Create table article;
Create view for_students;

DROP

RDBMSからコマンド、ビュー、テーブル、およびデータベースを削除します。

-

Drop object_type object_name;
Drop database finddevguides;
Drop table article;
Drop view for_students;

ALTER

データベーススキーマを変更します。

Alter object_type object_name parameters;

-

Alter table article add subject varchar;

このコマンドは、文字列タイプの subject という名前のリレーション*記事*に属性を追加します。

データ操作言語

SQLにはデータ操作言語(DML)が装備されています。 DMLは、データを挿入、更新、削除することにより、データベースインスタンスを変更します。 DMLは、データベース内のすべてのフォームデータの変更を担当します。 SQLは、そのDMLセクションに次のコマンドセットが含まれています-

  • SELECT/FROM/WHERE
  • INTO/VALUESに挿入
  • 更新/設定/場所
  • どこからでも削除

これらの基本構造により、データベースプログラマーとユーザーは、データベースにデータと情報を入力し、多くのフィルターオプションを使用して効率的に取得できます。

SELECT/FROM/WHERE

  • SELECT -これはSQLの基本的なクエリコマンドの1つです。 関係代数の射影操作に似ています。 WHERE句で記述された条件に基づいて属性を選択します。
  • FROM -この句は、属性を選択/投影する引数として関係名を取ります。 複数の関係名が指定されている場合、この句はデカルト積に対応します。
  • WHERE -この句は、投影される属性を修飾するために一致する必要がある述語または条件を定義します。

-

Select author_name
From book_author
Where age > 50;

このコマンドは、年齢が50歳を超えるリレーション book_author から著者の名前を生成します。

INTO/VALUESに挿入

このコマンドは、テーブルの行に値を挿入するために使用されます(リレーション)。

構文-

INSERT INTO table (column1 [, column2, column3 ... ]) VALUES (value1 [, value2, value3 ... ])

Or

INSERT INTO table VALUES (value1, [value2, ... ])

-

INSERT INTO finddevguides (Author, Subject) VALUES ("anonymous", "computers");

更新/設定/場所

このコマンドは、テーブルの列の値を更新または変更するために使用されます(リレーション)。

構文-

UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE condition]

-

UPDATE finddevguides SET Author="webmaster" WHERE Author="anonymous";

削除/FROM/WHERE

このコマンドは、テーブルから1つ以上の行を削除するために使用されます(関係)。

構文-

DELETE FROM table_name [WHERE condition];

-

DELETE FROM finddevguidess
   WHERE Author="unknown";