Database
 sql >> Datenbank >  >> RDS >> Database

Was sind SQL-Einschränkungen und ihre verschiedenen Typen?

Da in den Datenbanken große Datenmengen vorhanden sind, ist es für uns alle sehr wichtig, die Genauigkeit und Zuverlässigkeit der in der Datenbank vorhandenen Daten zu erhöhen. Nun, die SQL-Einschränkungen werden verwendet, um dasselbe beizubehalten. Es gibt verschiedene Arten von Beschränkungen, die verwendet werden könnten. In diesem Artikel werde ich diese Einschränkungen anhand von Beispielen erläutern.

Die folgenden Themen werden in diesem Artikel behandelt:

  1. Was sind Beschränkungen?
  2. In SQL verfügbare Einschränkungen:
      • NOT NULL-Einschränkung
      • EINZIGARTIGE Einschränkung
      • CHECK-Einschränkung
      • STANDARD-Einschränkung
      • INDEX-Einschränkung

Was sind SQL-Einschränkungen?

SQL Constraints werden verwendet, um die Regeln für die Daten in einer Tabelle festzulegen. Diese werden verwendet, um einzuschränken, welche Art von Daten in der Datenbank gespeichert werden müssen, und zielen darauf ab, die Genauigkeit und Zuverlässigkeit der in der Datenbank gespeicherten Daten zu erhöhen.

Einschränkungen stellen also sicher, dass es keine Verletzung in Bezug auf eine Transaktion der Daten gibt, aber dennoch eine Verletzung gefunden wird; die Aktion wird beendet.

Es gibt zwei Arten von Beschränkungen, die angewendet werden können:

  1. Einschränkungen auf Spaltenebene – Diese Beschränkungen werden auf eine einzelne Spalte angewendet
  2. Einschränkungen auf Tabellenebene – Diese Constraints sind die Anwendung auf die komplette Tabelle

Lassen Sie uns in diesem Artikel fortfahren und die verschiedenen Arten von Beschränkungen verstehen. Außerdem werde ich die folgende Tabelle betrachten, um Ihnen zu helfen, besser zu verstehen.

Verschiedene SQL-Constraints verfügbar:

NOT NULL-Einschränkung

Die Einschränkung NOT NULL stellt sicher, dass eine Spalte keinen NULL-Wert haben kann. Sie können die NOT NULL-Einschränkung entweder beim Erstellen der Tabellendatenbank oder beim Ändern verwenden.

Beispiel

NOT NULL-Einschränkung bei CREATE TABLE

Schreiben Sie eine Abfrage, um die obige Tabelle „Students“ zu erstellen, in der StudentID und StudentName nicht NULL sein dürfen.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

NOT NULL-Einschränkung für ALTER TABLE

Schreiben Sie eine Abfrage, um die obige Schülertabelle zu ändern, in der eine neue Spalte mit DOB hinzugefügt werden muss und keine NULL-Werte enthalten sollte.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Lassen Sie uns in diesem Artikel über SQL-Constraints weitermachen, wie die UNIQUE-Einschränkung verwendet wird.

EINZIGARTIGE Einschränkung

Die UNIQUE-Einschränkung wird verwendet, um sicherzustellen, dass alle Werte in einer Spalte eindeutig sind. Sie können die UNIQUE-Einschränkung entweder auf mehrere Spalten oder auf eine einzelne Spalte anwenden. Abgesehen davon können Sie fortfahren und die UNIQUE-Einschränkung verwenden, um die vorhandenen Tabellen zu ändern.

Hinweis:

  1. Beim Erstellen von Tabellen hat eine PRIMARY KEY-Einschränkung automatisch eine UNIQUE-Einschränkung, um die Eindeutigkeit einer Spalte zu gewährleisten.
  2. Eine Tabelle kann viele UNIQUE-Einschränkungen, aber nur eine einzige Primärschlüssel-Einschränkung haben.

Beispiel:

EINZIGARTIGE Einschränkung bei CREATE TABLE

Schreiben Sie eine Abfrage, um eine Tabelle Students zu erstellen, mit den Spalten StudentID, StudentName, Age und City. Dabei muss die StudentID für jeden Datensatz eindeutig sein.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Nennen Sie eine UNIQUE-Einschränkung für mehrere Spalten

Um eine eindeutige Einschränkung zu benennen und für mehrere Spalten zu definieren, können Sie sich auf das folgende Beispiel beziehen:

Schreiben Sie eine Abfrage, um eine Tabelle Students mit den Spalten StudentID, StudentName, Age und City zu erstellen. Hier müssen StudentID und StudentName für jeden Datensatz eindeutig sein.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Hier ist Stu_Example der Name, der der eindeutigen Beschränkung gegeben wird, die auf StudentID und StudentName angewendet wird.

UNIQUE-Einschränkung für ALTER TABLE

Schreiben Sie eine Abfrage, um die Tabelle „Students“ zu ändern, wobei eine UNIQUE-Einschränkung zur Spalte „StudentID“ hinzugefügt werden muss.

ALTER TABLE Students ADD UNIQUE (StudentID);

Wenn Sie die UNIQUE-Einschränkung für mehrere Spalten verwenden und sie auch benennen möchten, können Sie eine Abfrage wie folgt schreiben:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Löschen Sie eine UNIQUE-Einschränkung

Um die für eine Spalte angegebene Einschränkung zu löschen, können Sie die Namenskonvention verwenden, die Sie möglicherweise beim Hinzufügen der Einschränkung erwähnt haben.

Wenn wir beispielsweise eine Abfrage schreiben müssen, um die oben erstellte UNIQUE-Einschränkung zu löschen, können Sie die Abfrage wie folgt schreiben:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

Lassen Sie uns als Nächstes in diesem Artikel über SQL-Einschränkungen verstehen, wie die CHECK-Einschränkung verwendet wird.

CHECK-Einschränkung

Die CHECK-Einschränkung stellt sicher, dass alle Werte in einer Spalte eine bestimmte Bedingung erfüllen.

Beispiel:

PRÜFUNG auf CREATE TABLE

Schreiben Sie eine Abfrage, um eine Tabelle Students mit den Spalten StudentID, StudentName, Age und City zu erstellen. Hier muss die Stadt MUmbai sein.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

CHECK-Einschränkung für mehrere Spalten

Um die Check-Einschränkung für mehrere Spalten zu verwenden, können Sie eine Abfrage wie folgt schreiben:

Schreiben Sie eine Abfrage, um eine Tabelle Students mit den Spalten StudentID, StudentName, Age und City zu erstellen. Hier muss die Stadt Mumbai sein und das Alter der Studenten muss> 19 sein.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

In ähnlicher Weise können Sie die CHECK-Einschränkung auch mit dem ALTER TABLE-Befehl verwenden. Siehe unten.

CHECK-Einschränkung für ALTER TABLE

Schreiben Sie eine Abfrage, um die Tabelle „Students“ zu ändern, wobei der Spalte „City“ eine CHECK-Einschränkung hinzugefügt werden muss. Hier muss die Stadt Mumbai sein.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

In ähnlicher Weise können Sie, wenn Sie die CHECK-Einschränkung verwenden möchten, indem Sie ihr einen Namen geben, eine Abfrage wie folgt schreiben:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Löschen Sie eine CHECK-Einschränkung

Um die für eine Spalte angegebene Einschränkung zu löschen, können Sie die Namenskonvention verwenden, die Sie möglicherweise beim Hinzufügen der Einschränkung erwähnt haben.

Wenn wir beispielsweise eine Abfrage schreiben müssen, um die oben erstellte CHECK-Einschränkung zu löschen, können Sie die Abfrage wie folgt schreiben:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Lassen Sie uns in diesem Artikel über SQL-Einschränkungen weitermachen, wie die DEFAULT-Einschränkung verwendet wird.

STANDARD-Einschränkung

Die DEFAULT-Einschränkung wird verwendet, um eine Reihe von Standardwerten für eine Spalte anzugeben, wenn kein Wert angegeben ist. Ähnlich wie bei den anderen Einschränkungen können wir diese Einschränkung für die CREATE- und ALTER-Tabellenbefehle verwenden.

Beispiel

Schreiben Sie eine Abfrage, um eine Tabelle Students mit den Spalten StudentID, StudentName, Age und City zu erstellen. Auch wenn kein Wert in die Spalte „Stadt“ eingefügt wird, muss automatisch Delhi enthalten sein.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

DEFAULT Einschränkung für ALTER TABLE

Um die DEFAULT-Einschränkung mit dem ALTER TABLE-Befehl zu verwenden, können Sie eine Abfrage wie folgt schreiben:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Löschen Sie eine DEFAULT-Einschränkung

Um die DEFAULT-Einschränkung zu löschen, können Sie den ALTER TABLE-Befehl wie folgt verwenden:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

Lassen Sie uns als Nächstes in diesem Artikel über SQL-Einschränkungen verstehen, wie die INDEX-Einschränkung verwendet wird.

INDEX-Einschränkung

Die INDEX-Einschränkung wird verwendet, um Indizes in der Tabelle zu erstellen. Mit Hilfe dieser Indizes können Sie sehr schnell Daten aus der Datenbank erstellen und abrufen.

Syntax

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Beispiel

Schreiben Sie eine Abfrage, um einen Index mit dem Namen Stu_index in der Students-Tabelle zu erstellen, die den StudentName speichert.

CREATE INDEX Stu_index ON Students (StudentName);

In ähnlicher Weise müssen Sie zum Löschen eines Indexes aus der Tabelle den DROP-Befehl mit dem Namen des Indexes verwenden.

DROP INDEX Students.Stu_index;

Neben den obigen Einschränkungen gelten auch der PRIMARY KEY und der FOREIGN KEY als Einschränkungen. Die PRIMARY KEY-Einschränkung wird verwendet, um Einschränkungen dafür zu definieren, wie eine bestimmte Spalte jedes Tupel eindeutig identifiziert. Die FOREIGN KEY-Einschränkung wird verwendet, um zwei Tabellen basierend auf einer Beziehung in Beziehung zu setzen.

Damit beenden wir diesen Artikel. Ich hoffe, Sie haben verstanden, wie die verschiedenen Beschränkungen in der Datenbank verwendet werden. Wenn Sie mehr über MySQL erfahren und diese relationale Open-Source-Datenbank kennenlernen möchten, sehen Sie sich unsere MySQL-DBA-Zertifizierungsschulung an Dazu gehören von einem Kursleiter geleitete Live-Schulungen und reale Projekterfahrung. Dieses Training wird Ihnen dabei helfen, MySQL gründlich zu verstehen und das Thema zu beherrschen.

Haben Sie eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Artikels über SQL-Einschränkungen und ich werde mich bei Ihnen melden.