SQL制約とそのさまざまなタイプとは何ですか?



この記事は、さまざまなSQLコマンドでさまざまなタイプのSQL制約を使用する方法に関する包括的なガイドであり、例を使用して同じことを詳しく説明しています。

に大量のデータが存在するため 、データベースに存在するデータの精度と信頼性を高めることは、私たち全員にとって非常に重要です。そうですね、SQL制約は同じものを維持するために使用されます。使用できる制約にはさまざまなタイプがあります。この記事では、これらの制約について例を挙げて説明します。

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





  1. 制約とは何ですか?
  2. SQLで使用可能な制約:

SQL制約とは何ですか?

SQL制約は、テーブル内のデータのルールを指定するために使用されます。これらは、データベースに保存する必要のあるデータのタイプを制限するために使用され、データベースに保存されるデータの精度と信頼性を高めることを目的としています。

したがって、制約により、データのトランザクションに関して違反がないことが確認されますが、アクションが終了することが判明した違反はあります。



適用できる制約には2つのタイプがあります。

  1. 列レベルの制約 –これらの制約は単一の列に適用されます
  2. テーブルレベルの制約 –これらの制約は、完全なテーブルへの適用です

この記事を進めて、さまざまなタイプの制約を理解しましょう。また、理解を深めるために、次の表を検討します。

Javaでのメソッドのオーバーロードとオーバーライドの違い

利用可能なさまざまなSQL制約:

NOTNULL制約

NOT NULL制約は、列がNULL値を持つことができないようにします。 NOT NULL制約は、次のいずれかの場合に使用できます。 テーブルの作成 データベースまたはそれを変更している間。



CREATETABLEに対するNOTNULL制約

上記のStudentsテーブルを作成するクエリを記述します。StudentIDとStudentNameをNULLにすることはできません。

CREATE TABLE Student(StudentID int NOT NULL、StudentName varchar(255)NOT NULL、Age int、City varchar(255))

ALTERTABLEのNOTNULL制約

上記のStudentsテーブルを変更するクエリを記述します。ここで、DOBの新しい列を追加する必要があり、NULL値を含めることはできません。

ALTERTABLEの学生はCOLUMNDOB年を追加しますNOTNULL

SQL制約に関するこの記事に進んで、UNIQUE制約の使用方法を理解しましょう。

一意の制約

UNIQUE制約は、列のすべての値が一意であることを確認するために使用されます。 UNIQUE制約は、複数の列またはで単一の列のいずれかで使用できます。これとは別に、先に進み、UNIQUE制約を使用して既存のテーブルを変更できます。

注意:

  1. テーブルの作成中に、PRIMARY KEY制約には自動的にUNIQUE制約があり、列の一意性が保証されます。
  2. テーブルには多くのUNIQUE制約を含めることができますが、単一の主キー制約を含めることができます。

例:

CREATETABLEの一意の制約

StudentID、StudentName、Age、Cityの列を持つStudentsテーブルを作成するクエリを記述します。ここで、StudentIDはレコードごとに一意である必要があります。

CREATE TABLE Student(StudentID int NOT NULL UNIQUE、StudentName varchar(255)NOT NULL、Age int、City varchar(255))

複数の列にUNIQUE制約に名前を付ける

一意の制約に名前を付け、それを複数の列に定義するには、次の例を参照してください。

StudentID、StudentName、Age、Cityの列を持つStudentsテーブルを作成するクエリを記述します。ここで、StudentIDとStudentNameは、レコードごとに一意である必要があります。

CREATE TABLE Student(StudentID int NOT NULL、StudentName varchar(255)NOT NULL、Age int、City varchar(255)CONSTRAINT Stu_Example UNIQUE(StudentID、StudentName))

ここで、Stu_Exampleは、StudentIDとStudentNameに適用される一意性制約に付けられた名前です。

ALTERTABLEのUNIQUE制約

StudentID列にUNIQUE制約を追加する必要があるStudentsテーブルを変更するクエリを記述します。

ALTERTABLE学生ADDUNIQUE(StudentID)

同様に、複数の列でUNIQUE制約を使用し、それに名前を付ける場合は、次のようにクエリを記述できます。

ALTERTABLEの学生ADDCONSTRAINT Stu_Example UNIQUE(StudentID、StudentName)

UNIQUE制約を削除します

列に指定された制約を削除するには、制約を追加するときに言及した可能性のある命名規則を使用できます。

たとえば、上記で作成したUNIQUE制約を削除するクエリを作成する必要がある場合は、次のようにクエリを作成できます。

ALTERTABLEの学生DROPCONSTRAINT Stu_Example

次のSQL制約に関するこの記事では、CHECK制約の使用方法を理解しましょう。

CHECK制約

CHECK制約は、列のすべての値が特定の条件を満たすことを確認します。

例:

CREATETABLEのチェック制約

StudentID、StudentName、Age、Cityの列を持つStudentsテーブルを作成するクエリを記述します。ここでは、都市はムンバイでなければなりません。

CREATE TABLE Student(StudentID int NOT NULL UNIQUE、StudentName varchar(255)NOT NULL、Age int、City varchar(255)CHECK(City == ’Mumbai’))

複数の列のチェック制約

複数の列でチェック制約を使用するには、次のようにクエリを記述できます。

Linuxでクラスパスを設定する

StudentID、StudentName、Age、Cityの列を持つStudentsテーブルを作成するクエリを記述します。ここでは、市はムンバイである必要があり、学生の年齢は19歳以上である必要があります。

CREATE TABLE Student(StudentID int NOT NULL、StudentName varchar(255)NOT NULL、Age int、City varchar(255)CHECK(City ==&rsquoMumbai&rsquo AND Age> 19))

同様に、ALTERTABLEコマンドでCHECK制約を使用することもできます。以下を参照してください。

ALTERTABLEのCHECK制約

CHECK制約をCity列に追加する必要があるStudentsテーブルを変更するクエリを記述します。ここでは、都市はムンバイでなければなりません。

ALTERTABLEの学生がチェックを追加(City == 'Mumbai')

同様に、名前を付けてCHECK制約を使用する場合は、次のようにクエリを記述できます。

ALTERTABLEの学生ADDCONSTRAINT StuCheckExample CHECK(City == 'Mumbai')

CHECK制約を削除します

列に指定された制約を削除するには、制約を追加するときに言及した可能性のある命名規則を使用できます。

たとえば、上記で作成したCHECK制約を削除するクエリを作成する必要がある場合は、次のようにクエリを作成できます。

ALTERTABLEの学生DROPCONSTRAINT StuCheckExample

SQL制約に関するこの記事に進んで、DEFAULT制約の使用方法を理解しましょう。

デフォルトの制約

DEFAULT制約は、値が指定されていない場合の列のデフォルト値のセットに言及するために使用されます。他の制約と同様に、CREATEおよびALTERtableコマンドでこの制約を使用できます。

StudentID、StudentName、Age、Cityの列を持つStudentsテーブルを作成するクエリを記述します。また、City列に値が挿入されていない場合は、自動的にデリーを含める必要があります。

Javaでオブジェクトの配列を作成する方法
CREATE TABLE Student(StudentID int NOT NULL、StudentName varchar(255)NOT NULL、Age int、City varchar(255)DEFAULT‘Delhi ’)

ALTERTABLEのDEFAULT制約

でDEFAULT制約を使用するには ALTERTABLEコマンド 、次のようにクエリを記述できます。

ALTERTABLEの学生はCONSTRAINTを追加しますStuDefauExampleDEFAULT'Mumbai 'FOR City

DEFAULT制約を削除します

DEFAULT制約を削除するには、次のようにALTERTABLEコマンドを使用できます。

ALTERTABLEの学生ALTERCOLUMN City DROP DEFAULT

次のSQL制約に関するこの記事では、INDEX制約の使用方法を理解しましょう。

INDEX制約

インデックス制約は、テーブルにインデックスを作成するために使用されます。これらのインデックスを使用すると、データベースからデータを非常にすばやく作成および取得できます。

構文

-重複値が許可されるインデックスを作成しますCREATEINDEX IndexName ON TableName(ColumnName1、ColumnName2、... ColumnName(N))-重複値が許可されないインデックスを作成しますCREATE UNIQUE INDEX IndexName ON TableName(ColumnName1、ColumnName2、 ... ColumnName(N))

StudentNameを格納するStudentsテーブルにStu_indexという名前のインデックスを作成するクエリを記述します。

CREATE INDEX Stu_index ON Student(StudentName)

同様に、テーブルからインデックスを削除するには、インデックスの名前を指定してDROPコマンドを使用する必要があります。

DROPINDEXStudents.Stu_index

上記の制約とは別に、 主キー また、FOREIGNKEYも制約と見なされます。 PRIMARY KEY制約は、特定の列がすべてのタプルを一意に識別する方法に関する制約を定義するために使用されます。ザ・ 外部キー 制約は、関係に基づいて2つのテーブルを関連付けるために使用されます。

これで、この記事は終わりです。データベースに存在するさまざまな制約の使用方法を理解していただければ幸いです。 あなたがについてもっと知りたいなら MySQL このオープンソースのリレーショナルデータベースを理解してから、 インストラクター主導のライブトレーニングと実際のプロジェクト経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

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