SQLチュートリアル:SQLを学ぶためのワンストップソリューション

SQLチュートリアルに関するこの記事は、SQLの主要な概念、コマンド、およびクエリに関する包括的なガイドであり、ステップバイステップの例が含まれています。

毎日約2.5兆バイトのデータが生成される今日の市場では、このような膨大な量のデータを処理する方法を理解することが非常に重要です。さて、ここで構造化照会言語またはSQLが登場します。したがって、SQLチュートリアルに関するこの記事では、次の重要な概念について説明します。これらの概念は、 。



SQLチュートリアル:SQLの概要

SQLとは何ですか?

1970年代にDonaldD.Chamberlinによって開発されたStructuredQuery Languageまたは最も一般的にSQLとして知られている言語は、リレーショナルデータベースからデータを操作、保存、更新、および取得するために使用される最も一般的な言語の1つです。 SQLは、データベース内のデータを操作するために、DDL、DML、DCL、およびTCLの4つのカテゴリに分類されたさまざまなコマンドで構成されています。また、のようなリレーショナルデータベース MySQLデータベース 、 、MS SQL Server、SybaseなどはSQLを使用してデータを変更します。



SQLのアプリケーション

SQLのアプリケーションは次のとおりです。

  • SQLを使用すると、テーブルとデータベースを作成および削除できます。
  • これにより、ユーザーはデータベース内のデータを定義および操作できます。
  • SQLを使用すると、ユーザーはRDBMSのデータにアクセス、変更、および記述できます。
  • SQLを使用すると、テーブル、ビュー、およびプロシージャにアクセス許可を設定し、さまざまなユーザーに特定のアクセス許可を付与できます。
  • SQLを使用すると、SQLライブラリとモジュールを使用して他の言語に埋め込むことができます。

今、あなたは知っています SQLの基礎 、次のこのSQLチュートリアルでは、さまざまなSQLデータ型とは何かを理解しましょう。



SQLデータ型

SQLデータ型は、次のカテゴリに分類されます。

  • 数値 –数値データ型では、符号付き整数と符号なし整数の両方を使用できます。これらはさらに、正確なデータ型と近似データ型に分割できます。正確な場合は整数の形式の整数が許可され、近似は浮動整数が許可されます。
  • 文字列 -このデータ型では、固定長と可変長の文字を使用できます。このデータ型は、Unicode文字にさらに分類することもできます。これにより、固定長および可変長のUnicode文字が可能になります。
  • バイナリ -バイナリデータ型を使用すると、固定長および可変長のデータをバイナリ値の形式で格納できます。
  • 日付時刻 – t彼のデータ型により、データをさまざまな形式の日付と時刻で保存できます。
  • その他 –データ型のこのセクションには、テーブル、XML、カーソル、uniqueidentifier、およびsql_variant。

さまざまなSQLデータ型の詳細を理解したい場合は、の詳細ガイドを参照してください。 SQLデータ型。

SQL演算子

演算子は、オペランドの値を操作できる構造です。式4+ 6 = 10について考えてみます。ここで、4と6はオペランドであり、+は演算子と呼ばれます。



SQLは、次のタイプの演算子をサポートしています。

  • 算術演算子
  • ビット演算子
  • 比較演算子
  • 複合演算子
  • 論理演算子

SQLでサポートされているさまざまな演算子を詳しく知るには、次のことができます。 。では、SQLとその基本について理解したところで、SQLの主要なコマンドまたはステートメントについて理解しましょう。

SQLチュートリアル:トップSQLコマンド

SQLは、データベース内のデータを追加、変更、削除、または更新するためのさまざまなコマンドまたはステートメントで構成されています。 SQLチュートリアルに関するこの記事では、次のステートメントについて説明します。

    1. CREATE
    2. 落とす
    3. 年齢
    4. 切り捨てる
    5. 説明
    6. 挿入する
    7. 更新
    8. 選択する
    9. お気に入り
    10. 付与

このSQLチュートリアルでは、以下のデータベースを次のように検討します。例、書き方を紹介するこれらのSQLコマンドを使用したクエリ。

顧客ID 顧客名 電話番号 住所
1サイモン9876543210ドナルドストリート52ハイデラバードインド
2Akash9955449922クイーンズロード74ムンバイインド
3パトリック9955888220シルクボード82デリーインド
4Sameer9647974327IGロード19ハイデラバードインド
5ジョン9674325689ブリゲードロードブロック9バンガロールインド

CREATE

ザ・ CREATEステートメント 次の方法でテーブル、ビュー、またはデータベースを作成するために使用されます。

データベースの作成

データベースの作成に使用されます。

構文

CREATE DATABASE DatabaseName

CREATE DATABASE CustomerInfo

CREATE TABLE

このステートメントは、テーブルを作成するために使用されます。

構文

CREATE TABLE TableName(Column1データ型、Column2データ型、...。ColumnNデータ型)

CREATE TABLE Customers(CustomerID int、CustomerName varchar(255)、PhoneNumber int、Address varchar(255)、City varchar(255)、Country varchar(255))

ビューの作成

ビューを作成するために使用されます。

構文

ビューの作成またはビュー名の置換ASSELECT Column1、Column2、...、ColumnN FROM TableNameWHERE条件

ビューの作成またはHydCustomersの置換ASSELECT CustomerName、PhoneNumber FROM Customers WHERE City = 'Hyderabad'

注意: テーブルの作成と値の入力を開始する前に、USEステートメントを[として使用してデータベースを使用する必要があります。 CustomersInfoを使用する ]

落とす

Javaの文字列定数プール

DROPステートメントは、既存のテーブル、ビュー、またはデータベースを削除するために使用されます。

DROPデータベース

データベースを削除するために使用されます。このステートメントを使用すると、データベースに存在する完全な情報が失われます。

構文

DROP DATABASE DatabaseName

DROP DATABASE CustomerInfo

ドロップテーブル

テーブルをドロップするために使用されます。このステートメントを使用すると、表にある完全な情報が失われます。

構文

DROP TABLE TableName

ドロップテーブルのお客様

ドロップビュー

ビューをドロップするために使用されます。このステートメントを使用すると、ビューに存在する完全な情報が失われます。

構文

DROP VIEW ViewName

ドロップビューHydCustomers

年齢

ALTERステートメントは、既存のテーブルの制約または列を追加、削除、または変更するために使用されます。

他の机

ザ・ ALTERステートメント 既存のテーブルの列を削除、追加、変更するために使用されます。 ADD / DROP列でALTERTABLEを使用して、テーブルに列を追加または削除できます。これとは別に、特定の列をALTER / MODIFYすることもできます。

構文

ALTER TABLE TableName ADDColumnNameデータ型ALTERTABLE TableName DROP COLUMN ColumnName ALTER TABLE TableName ALTER COLUMNColumnNameデータ型

--ADD列の性別:ALTERTABLEの顧客ADDGender varchar(255)-DROP列の性別:ALTERTABLEの顧客DROPCOLUMNの性別-列DOBを追加し、データ型を日付から年に変更します。 ALTER TABLE DOB ADDDOB日付ALTERTABLE DOB ALTERDOB年

切り捨てる

TRUNCATEステートメントは、テーブルに存在する情報を削除するために使用されますが、テーブル自体は削除しません。したがって、このコマンドを使用すると、情報は失われますが、テーブルはデータベースに存在しません。

構文

TRUNCATE TABLE TableName

テーブルの顧客を切り捨てる

説明

EXPLAINステートメントとDESCRIBEステートメントは、それぞれクエリ実行プランとテーブル構造に関する情報を取得するために使用される同義語です。このステートメントは、INSERT、DELETE、SELECT、UPDATE、およびREPLACEステートメントで使用できます。

構文

--DESCRIBE DESCRIBETableNameの構文--EXPLAINEXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON(TableName1.ColumnName1 = TableName2.ColumnName2)の構文例

DESCRIBE Customers EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON(Customers.CustomerID = Orders.CustomerID)

挿入する

ザ・ INSERTINTOステートメント 新しいレコードをテーブルに挿入するために使用されます。

構文

INSERT INTO TableName(Column1、Column2、Column3、...、ColumnN)VALUES(value1、value2、value3、...)-列名を指定したくない場合は、以下の構文を使用しますが、入力する値は、列のデータ型と一致する必要があります:INSERT INTO TableName VALUES(Value1、Value2、Value3、...)

INSERT INTO Customers(CustomerID、CustomerName、PhoneNumber、Address、City、Country)VALUES( '06'、 'Sanjana'、 '9654323491'、 'Oxford Street House No 10'、 'Bengaluru'、 'India')INSERT INTO Customers VALUES ( '07'、 'ヒマニ'、 '9858018368'、 'ナイスロード42'、 'コルカタ'、 'インド')

更新

UPDATEステートメントは、テーブルにすでに存在するレコードを変更するために使用されます。

構文

UPDATE TableName SET Column1 = Value1、Column2 = Value2、... WHERE条件

顧客の更新SETCustomerName = 'Aisha'、City = 'Kolkata' WHERE EmployeeID = 2

選択する

SELECTステートメントは、データベースからデータを選択し、それをと呼ばれる結果テーブルに格納するために使用されます。 結果セット

構文

SELECT Column1、Column2、... ColumN FROM TableName-(*)は、テーブルからすべてを選択するために使用されますSELECT * FROM table_name-返すレコードの数を選択するには、次のように使用します。SELECTTOP 3 * FROM TableName

SELECT CustomerID、CustomerName FROM Customers-(*)は、テーブルからすべてを選択するために使用されますSELECT * FROM Customers-返すレコードの数を選択するには、次のように使用します。SELECTTOP 3 * FROM Customers

これとは別に、SELECTキーワードを次のように使用できます。 ORDER BY そして

お気に入り

この演算子は、WHERE句とともに使用され、テーブルの列で指定されたパターンを検索します。と組み合わせて使用​​される主に2つのワイルドカードがあります LIKE演算子

  • –0個以上の文字に一致します。
  • _ –1文字に完全に一致します。

構文

SELECT ColumnName(s)FROM TableName WHERE ColumnNameLIKEパターン

SELECT * FROM Customers WHERE CustomerName LIKE'S% '

付与

GRANTコマンドは、データベースとそのオブジェクトに対する特権またはアクセスをユーザーに提供するために使用されます。

構文

ObjectNameの特権名をUserNameに付与[付与オプション付き]

どこ、

  • PrivilegeName –ユーザーに付与された特権/権利/アクセス。
  • ObjectName – TABLE / VIEW / STOREDPROCなどのデータベースオブジェクトの名前。
  • ユーザー名 –アクセス/権利/特権を付与されたユーザーの名前。
  • 公衆 –すべてのユーザーにアクセス権を付与します。
  • RoleName –グループ化された一連の特権の名前。
  • グラントオプション付き –他のユーザーに権限を付与するためのアクセス権をユーザーに付与するため。

-顧客テーブルにSELECT権限を管理者に付与するにはGRANTSELECT ON Customers TO admin

今、あなたは知っています 、データベースで使用されるさまざまなタイプのキーを理解しましょう。この概念は、リレーショナルデータベース管理システムで各テーブルが他のテーブルとどのように関連しているかを理解するのに役立ちます。

SQLチュートリアル:キー

以下は、データベースで検討できる7種類のキーです。

  • 候補キー– テーブルを一意に識別できる属性のセットは、候補キーと呼ばれます。テーブルには複数の候補キーを含めることができ、選択した候補キーから1つのキーを主キーとして選択できます。
  • スーパーキー– タプルを一意に識別できる属性のセットは、スーパーキーと呼ばれます。したがって、候補キー、主キー、および一意キーはスーパーキーですが、その逆は当てはまりません。
  • 主キー - すべてのタプルを一意に識別するために使用される属性のセットも主キーです。
  • 代替キー– 代替キーは候補キーであり、主キーとして選択されていません。
  • 一意のキー- 一意キーは主キーに似ていますが、列に1つのNULL値を許可します。
  • 外部キー - 他の属性の値として存在する値のみを取得できる属性は、それが参照する属性への外部キーです。
  • コンポジットキー- 複合キーは、各タプルを一意に識別する2つ以上の列の組み合わせです。

データベース内のさまざまなタイプのキーについて理解していただけたと思います。次のSQLチュートリアルに関するこの記事では、データベース内の制約について説明します。さて、SQL制約はテーブルを介してデータベースに入力されるデータの精度と信頼性を向上させます。

SQLチュートリアル: 制約

SQL制約は、データのトランザクションに関して違反がないことを確認し、見つかった場合、アクションは終了します。次の制約の主な用途は、制限することですテーブルに入れることができるデータのタイプ。

  • NULLではありません -この制約は、列がNULL値を格納できないようにするために使用されます。
  • ユニーク – UNIQUE制約は、列またはテーブルに入力されたすべての値が一意であることを保証するために使用されます。
  • 小切手 –この制約は、1つまたは複数の列が特定の条件を満たすことを確認するために使用されます。
  • デフォルト – DEFAULT制約は、値が指定されていない場合に列のデフォルト値を設定するために使用されます。
  • インデックス –この制約はテーブル内のインデックス。これにより、データベースからデータを非常にすばやく作成および取得できます。

構文と例を使用して次の制約について詳しく知りたい場合は、他の制約を参照できます。 。それでは、データベースのキーと制約について説明したので、次にSQLチュートリアルに関するこの記事で、興味深い概念の正規化を見てみましょう。

SQLチュートリアル:正規化

正規化は、重複や冗長性を回避するためにデータを整理するプロセスです。正規化には多くの連続したレベルがあり、それらはと呼ばれます 通常の形式 。また、連続する各正規形は前の形式に依存します。以下は、存在する正規形です。

正規化-SQLチュートリアル-Edureka上記の正規形を理解するために、次の表を考えてみましょう。

スコープ解決演算子c ++

上記の表を確認することで、データの冗長性と重複を明確に把握できます。それでは、このテーブルを正規化しましょう。データベースの正規化を開始するには、常に最も低い正規形、つまり1NFから始めて、最終的にはより高い正規形に進む必要があります。

ここで、上記の表に対して、最初の正規形を実行する方法を見てみましょう。

第一正規形(1NF)

データベースが必要であることを確認するには 1NF 、各テーブルセルには単一の値が必要です。だから、基本的にすべて レコードは一意である必要があります 。上記の表は、次のように1NFに正規化されます。

上記の表を見ると、すべてのレコードが一意です。しかし、それでもデータの冗長性と重複はたくさんあります。したがって、それを回避するために、データベースを第2正規形に正規化しましょう。

第2正規形(2NF)

データベースが必要であることを確認するには 2NFデータベースは1NFである必要があります そしてまたすべき 単一列の主キーを持っている 。上記の表は、以下のように2NFに正規化されます。

上記のテーブルを確認すると、各テーブルには1列の主キーがあります。しかし、多くのデータの冗長性といくつかの列の重複があります。それを避けるために、データベースを第3正規形に正規化しましょう。

第3正規形(3NF)

データベースが必要であることを確認するには 3NFデータベースは2NFにある必要があります そして 推移的な機能依存性があってはなりません 。上記の表は、以下のように3NFに正規化されます。

上記の表を確認すると、データベースには推移的な依存関係はありません。したがって、このステップの後、データベースをさらに正規化する必要はありません。ただし、異常が存在するか、複数の候補キーが存在する場合は、次に高い正規形、つまりBCNFに進むことができます。

ボイスコッド正規形(BCNF)

データベースがBCNFにあることを確認するには、データベースが3NFに存在し、テーブルをさらに分割して、候補キーが1つだけ存在することを確認する必要があります。

これで、正規化は終わりです。次に、このSQLチュートリアルでは、SQLの重要な概念である結合について説明します。

SQLチュートリアル:結合

結合は、2つ以上のテーブル間の関連する列に基づいて、またいくつかの条件に基づいて、2つ以上のテーブルの行を結合するために使用されます。結合には主に4つのタイプがあります。

  • 内部結合: この結合は、両方のテーブルで値が一致するレコードを返します。
  • 完全結合: FULL JOINは、左側または右側のテーブルに一致するすべてのレコードを返します。
  • 左結合: この結合は、左側のテーブルのレコードと、右側のテーブルの条件を満たすレコードを返します。
  • 右結合: この結合は、右側のテーブルのレコードと、左側のテーブルの条件を満たすレコードを返します。

したがって、これはJOINSの簡単な説明でしたが、詳細な例を含むJOINSの詳細な説明が必要な場合は、に関する私の記事を参照してください。 。次に、このSQLチュートリアルでは、この記事の最後の概念であるビューについて説明します。

SQLチュートリアル:ビュー

SQLのビューは、他のテーブルから派生した単一のテーブルです。ビューには、実際のテーブルと同様の行と列が含まれ、1つ以上のテーブルのフィールドがあります。以下の画像を参照してください。

ビューを作成および削除する方法を理解するには、上記のCREATEステートメントとDROPステートメントを参照してください。これで、SQLチュートリアルに関するこの記事は終わりです。この記事がお役に立てば幸いです。また、データベース管理者のインタビューの準備をしていて、質問の包括的なリストを検索している場合は、次の記事を参照してください。

あなたがについてもっと知りたいなら MySQL このオープンソースのリレーショナルデータベースを理解してから、 インストラクター主導のライブトレーニングと実際のプロジェクト経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

質問がありますか?このSQLTutorialのコメントセクションにその旨を記載してください。折り返しご連絡いたします。