SQLの基本–初心者向けのワンストップソリューション



この包括的なSQLの基本に関する記事は、SQLの使用を開始するのに役立ちます。これは、日常のトランザクションに必要な基本的なコマンドとクエリに役立ちます。

今日の世界では、データがすべてです。しかし、それを管理するには、データ管理の技術を習得する必要があります。それに伴い、言語、つまり、 これがすべての基礎です。 SQLは、ほとんどの企業で使用されているリレーショナル型データベースの中核です。この記事を通じて、SQLの基本を開始するのに役立ちます。

この記事では、次のトピックについて説明します。





これらの各カテゴリを1つずつ説明するので、始めましょう。

SQLの概要



ロゴ-SQLBASICS-Edureka

SQLはIBMでによって開発されました ドナルド・D・チェンバリン そして レイモンド・F・ボイス 1970年代初頭に。これは当初呼ばれていました 続編 (( S 構造化 IS nglish それ ry L 言語)。 SQLの主な目的は、リレーショナルデータベースに格納されているデータを更新、格納、操作、および取得することです。何年にもわたって、SQLは多くの変更を経てきました。 XML、トリガー、ストアドプロシージャ、正規表現マッチング、再帰クエリ、標準化されたシーケンスなどのサポートなど、多くの機能が追加されています。

では、SQLはMySQLとどう違うのですか?



このトピックに関して誤解や混乱がありますここで明確にしておきたいと思います。

SQLは、クエリの形式でデータベースを操作するために使用される標準言語です。だが MySQL はオープンソースのデータベース管理システムまたは単にデータベースソフトウェアです。 MySQL データを整理してデータベースに保存します。

利点:

  • SQLには 明確に定義された 標準
  • SQLは インタラクティブ 本来は
  • SQLの助けを借りて、人は作成することができます 複数のビュー
  • コードの移植性 SQLの顕著な機能です

データとデータベース

何よりもまず、データとは何かを理解する必要があります。データは、対象のオブジェクトに関する事実のコレクションです。学生に関するデータには、名前、一意のiなどの情報が含まれる場合がありますd、年齢、住所、教育など。ソフトウェアは、質問に答える必要があるため、データを保存する必要があります。たとえば、15歳の学生は何人ですか。

データベース:

データベースは、組織化されたデータのコレクションであり、通常、コンピュータシステムから電子的に保存およびアクセスされます。簡単に言えば、データが保存されている場所にあるデータベースと言えます。最高の例えはライブラリです。ライブラリには、さまざまなジャンルの本の膨大なコレクションが含まれています。ここでは、ライブラリはデータベースであり、本はデータです。

データベースは、大きく次のグループに分類できます。

  • 一元化されたデータベース
  • 分散データベース
  • 運用データベース
  • リレーショナルデータベース
  • クラウドデータベース
  • オブジェクト指向データベース
  • グラフデータベース

ここでは、操作にSQLを使用するリレーショナルデータベースにさらに焦点を当てます。いくつかを使用しましょう

データベースを作成する方法は?

CREATEDATABASEステートメントを使用して新しいデータベースを作成します。

構文:

CREATEDATABASEデータベース名

CREATE DATABASE School

そのため、Schoolという名前のデータベースが作成されます。このデータベースを削除する場合は、次の構文を使用する必要があります。

データベースを削除する方法は?

構文

DROPDATABASEデータベース名

DROPデータベーススクール

Schoolという名前のデータベースが削除されます。

テーブル

データベース内のテーブルは、表形式のデータのコレクションに他なりません。それはで構成されています そして 。このテーブルには、垂直列と水平行のモデルを使用した値とも呼ばれるデータ要素が含まれています。行と列の交点はと呼ばれます 細胞 。テーブルには任意の数の行を含めることができますが、指定した数の列を含める必要があります。

テーブルを作成する

したがって、データベースにテーブルを作成するには、次のSQLクエリを使用します。

構文

CREATE TABLE table_name(column1データ型、column2データ型、column3データ型、....)

ここでキーワード テーブルを作成する 新しいテーブルを作成することをデータベースに伝えるために使用されます。次に、テーブル名について言及する必要があります。この名前は一意である必要があります。 SQLでは大文字と小文字は区別されませんが、テーブル内に格納されているデータでは大文字と小文字が区別されます。開き括弧と閉じ括弧の内側に列を追加します。各列を特定のデータ型で指定します。詳細については データ型 SQLでチェック 。

CREATE TABLE Student(studentID int、FName varchar(25)、LName varchar(25)、Address varchar(50)、City varchar(15)、Marks int)

Studentという名前のテーブルを作成し、いくつかのパラメーターをテーブルに追加しました。これが、SQLを使用してテーブルを作成する方法です。

テーブルを落とす

テーブル全体とそのすべてのデータを削除する場合は、DROPコマンドを使用する必要があります。

構文

DROP TABLE table_name

ドロップテーブル学生

そのため、学生テーブルは削除されます。

テーブルを切り捨てます

人形とシェフの違い

テーブル内のデータのみを削除し、テーブル自体は削除しない場合はどうなりますか?次に、TruncateQueryを使用する必要があります。

構文

TRUNCATE TABLE table_name

切り捨てテーブルの学生

上記のクエリを実行すると、テーブル内のデータは削除されますが、テーブルは残ります。詳細については、この記事をチェックしてください。 。

と呼ばれる概念の助けを借りて、テーブルを介してデータベースに入力されるデータの精度と信頼性を高めることができます SQLの制約 。これらの制約により、データのトランザクションに関して違反がないことが確認され、見つかった場合、アクションは終了します。制約の主な用途は制限することですテーブルに入れることができるデータのタイプ。このar以来ticleはSQLの基本に関連しているので、最もよく使用される制約についてのみ説明します。詳細については、 他のSQLブログ。

  • デフォルト -W。値が指定されていない場合、列のデフォルト値のセットが追加されます
  • NULLではありません –これは確実にNULL値が列に格納されないこと
  • ユニーク -この制約が適用される場合、テーブルに入力される値は一意になります
  • インデックス –これは、データベースからデータを作成および取得するために使用されます
  • 主キー –リレーション内のタプルを一意に識別するために選択されるのは候補キーです。
  • 外部キー –外部キーは、子テーブルの1つ以上の列のセットであり、その値は親テーブルの対応する列と一致する必要があります。
  • 小切手 -列の特定の条件を満たす場合は、CHECK制約を使用します

SQLの基本的なクエリ

それでは、いくつかに焦点を当てましょう SQLについて学び始めるときに知っておくべきことです。基本的なように思われるクエリがたくさんありますが、しかし、私は初心者にとって本当に不可欠なものをいくつか取り上げました。すべてのクエリを説明するために、使用するStudentテーブルについて検討しました。

選択する

これは、データベースの操作に使用できる最も基本的なSQLクエリです。 selectコマンドは、データベースからデータを選択してユーザーに表示するために使用されます。

構文

表から列1、列2&hellip..columnNを選択します

学生から名前を選択

上記の例では、studentテーブルのすべての名前が表示されます。テーブル内のすべてのフィールドを表示する場合は、*(スター)演算子を使用する必要があります。これにより、テーブル全体が表示されます。

学生から*を選択

特定のフィールドを重複せずに表示する場合は、selectコマンドとともにDISTINCTキーワードを使用します。

学生からDISTINCTFNameを選択します

どこ

テーブルの特定のレコードのみが必要な場合は、where句を使用します。 Where句はフィルタリングメカニズムとして機能します。 [場所]セクションで特定の条件を指定する必要がありますが、それらの条件が満たされた場合にのみ、レコードが抽出されます。

構文

SELECT column1、column2、... column N FROM table_name WHERE condition

学生からFNameを選択WHERECity = 'Delhi'

AND、OR、NOT

where句に2つ以上の条件を追加する必要がある場合は、上記の演算子を使用できます。これらのキーワードは、クエリをより複雑にします。

  • AND演算子:この演算子は、ANDで区切られたすべての条件がTRUEの場合にレコードを表示します。

構文

SELECT column1、column2、... FROM table_name WHERE condition1 AND condition2 AND condition3 .. ..

SELECT * FROM Student WHERE FName = 'John' AND Lname = 'Doe'
  • OR演算子:この演算子は、ORで区切られた条件のいずれかがTRUEの場合にレコードを表示します。

構文

SELECT column1、column2、... FROM table_name WHERE condition1 OR condition2 OR condition3 .. ..

SELECT * FROM Student WHERE FName = 'John' OR Lname = 'Doe'
  • NOT演算子:この演算子は、条件がTRUEでない場合にレコードを表示します。

構文

SELECT column1、column2、... FROM table_name WHERENOT条件

SELECT * FROM Student WHERE NOT Lname = 'Doe'

挿入する

新しいレコードまたはデータをテーブルに挿入する場合は、INSERTクエリを使用できます。 Insert intoは、次の2つの方法で使用できます。

  • ここでは、レコードを挿入する必要がある列名を指定します。

構文

INSERT INTO table_name(column1、column2、...)VALUES(value1、value2、value3、...)

Student(studentID、FName、LName、Address、City、Marks)の値(101、「JHON」、「DOE」、「#21、MG ROAD」、「Bengaluru」、550)に挿入します。
  • この場合、テーブルの列を指定する必要はありません。ただし、値の順序がテーブルの列と同じ順序であることを確認してください。

構文

INSERT INTO table_name VALUES(value1、value2、value3、...)

生徒の価値観に挿入(102、「Alex」、「Cook」、「#63、Brigade ROAD、NEAR HAL」、「Bengaluru」、490)


特定の列に挿入する場合は、以下の方法に従う必要があります。

INSERT INTO Student(studentID、FName)VALUES(103、 ‘Mike’)

集計関数

集計関数は、複数の行の値が特定の基準の入力としてグループ化され、単一の値が返される関数です。 SELECTステートメントのGROUPBY句とHAVING句で集計関数を使用することがよくあります。このセクションの後半で、GROUP BY、ORDER BY、およびHAVINGについて説明します。集計関数には、COUNT、SUM、AVG、MIN、MAXなどがあります。

それぞれについて1つずつ話し合いましょう。

  • COUNT():この関数は、指定された基準に一致する行数を返します。

構文

SELECT COUNT(column_name)FROM table_nameWHERE条件

学生からCOUNT(studentID)を選択
  • AVG():この関数は、数値列の平均値を返します。

構文

SELECT AVG(column_name)FROM table_nameWHERE条件

学生からAVG(マーク)を選択
  • SUM():この関数は、数値列の合計を返します。

構文

Windows10にPHPをインストールする方法
SELECT SUM(column_name)FROM table_nameWHERE条件

学生からSUM(マーク)を選択
  • MIN():この関数は、選択された列の最小値を返します。

構文

SELECT MIN(column_name)FROM table_nameWHERE条件

学生からの最小マークとしてMIN(マーク)を選択
  • MAX():この関数は、選択した列の最大値を返します。

構文

SELECT MAX(column_name)FROM table_nameWHERE条件

学生からの最高マークとしてMAX(マーク)を選択

注:ここではエイリアシング(AS new_name)を使用しましたが、これについては後で説明します。

GROUP BY、HAVING、ORDER BY

これらのキーワード(GROUP BY、HAVING、ORDER BY)は、機能を向上させるためにクエリで使用されます。それらのそれぞれには、果たすべき特定の役割があります。

  • GROUP BY:この機能は、同様のタイプのデータをグループに配置するために使用されます。たとえば、テーブルの列が異なる行の類似したデータまたは値で構成されている場合、GROUPBY関数を使用してデータをグループ化できます。

構文

SELECT column_name(s)FROM table_name WHERE condition GROUP BY column_name(s)

SELECT COUNT(StudentID)、Fname FROM Student GROUP BY Fname
  • HAVING:この句は、最終結果セットの一部となるグループを決定する必要がある条件を設定するために使用されます。また、次のような集計関数を使用することはできません SUM()、COUNT() などと どこ 句。このような状況では、HAVING条件を使用する必要があります。

構文

SELECT column_name(s)FROM table_name WHERE condition GROUP BY column_name(s)HAVINGcondition


SELECT Fname、SUM(Marks)FROM Student GROUP BY Fname HAVING SUM(Marks)> 500

  • ORDER BY:このキーワードは、結果セットを昇順または降順でソートするために使用されます。ザ・ ORDER BY キーワードは、デフォルトでレコードを昇順でソートします。レコードを降順でソートする場合は、DESCキーワードを使用します。

構文

SELECT column1、column2、... FROM table_name ORDER BY column1、column2、... ASC | DESC


SELECT COUNT(StudentID)、City FROM Student GROUP BY City ORDER BY COUNT(StudentID)DESC

NULL値

SQLでは、欠落している値を表すためにNULL用語を使用します。テーブルのNULL値は、値が空白のように見えることです。 NULL値のあるフィールドは、SQLでは値のないフィールドです。 NULL値は、ゼロ値またはスペースを含むフィールドとは異なることに注意してください。

null値を確認するために、、 =などの演算子を使用することは想定されていません。SQLではサポートされていません。特別なキーワードがあります。つまり、ISNULLとISNOTNULLです。

  • 無効です 構文
SELECT column_names FROM table_name WHERE column_name IS NULL

マークがNULLの学生からFname、Lnameを選択します

  • NULLではありません 構文
SELECT column_names FROM table_name WHERE column_name IS NOT NULL

マークがNULLでない学生からFname、Lnameを選択します

更新と削除

  • UPDATE:Updateコマンドは、テーブルの行を変更するために使用されます。 updateコマンドを使用して、単一のフィールドまたは複数のフィールドを同時に更新できます。

構文

UPDATE table_name SET column1 = value1、column2 = value2、... WHERE条件

UPDATE Student SET Fname = 'Robert'、Lname = 'Wills' WHERE StudentID = 101
  • DELETE:SQL DELETEコマンドは、データベーステーブルから不要になった行を削除するために使用されます。テーブルから行全体を削除します

構文

DELETE FROM table_nameWHERE条件

学生から削除WHEREFName = 'Robert'

ここには特別なケースがあります。テーブルレコード全体を削除する必要がある場合は、テーブル名を指定する必要があります。その特定のテーブルのデータは分割されます。

学生から削除

現在発生している主な質問の1つは、DELETEコマンドとTRUNCATEコマンドの違いは何ですか。答えは簡単です。 DELETEはDMLコマンドですが、TRUNCATEはDDLコマンドです。また、DELETEはレコードを1つずつ削除し、トランザクションログ内の削除ごとにエントリを作成します。一方、TRUNCATEはページの割り当てを解除し、トランザクションログ内のページの割り当て解除用のエントリを作成します。 。

INおよびBETWEEN演算子

  • IN演算子は、WHERE句内で複数の値を指定するために使用されます。複数のORの略として機能します。

構文

SELECT column_name(s)FROM table_name WHERE column_name IN(value1、value2、...)


SELECT StudentID、Fname、Lname FROM Student WHERE City IN( 'Delhi'、 'Goa'、 'Pune'、 'Bengaluru')
  • BETWEEN演算子は、指定された範囲内の特定の値を選択します。開始値と終了値(範囲)を追加する必要があります。

構文

SELECT column_name(s)FROM table_name WHERE column_name BETWEEN value1 AND value2

javaインスタンス変数とは
400と500の間のマークが学生からStudentID、Fname、Lnameを選択します

SQLのエイリアス

エイリアスは、クエリが複雑な場合に役立つように、テーブルまたは列に一時的な名前を付けるプロセスです。クエリの読みやすさが向上します。この名前の変更は一時的なものであり、元のデータベースではテーブル名は変更されません。列またはテーブルにエイリアスを付けることができます。以下では、両方の構文について説明しました。

ザ・ 構文 列エイリアシング用

SELECT column_name AS alias_name FROM table_name

列エイリアシング用

SELECT CustomerID AS ID、CustomerName AS Customer FROM Customers

構文 テーブルエイリアシング用

SELECT column_name(s)FROM table_name AS alias_name

テーブルエイリアシング用

SELECT S.Fname、S.LName FROM Student as S

これで、このSQLの基本に関する記事は終わりです。SQLの基本の概念を理解していただければ幸いです。

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

質問がありますか?このSQLBasicsのコメントセクションでそれについて言及してください。折り返しご連絡いたします。