So verwenden Sie eindeutige Einschränkungen in SQLite

So verwenden Sie eindeutige Einschränkungen in SQLite
In SQLite gibt es unterschiedliche Einschränkungen, die die Daten der Spalte um einige Regeln einschränken, wenn die Daten eingefügt, aktualisiert oder geändert werden. Einige der häufigsten Einschränkungen der Datenbanken, die vom SQLite unterstützt werden.

SQLite ist ein RDBMS, das zur Verwaltung der Daten der Datenbank verwendet wird, die in den Zeilen und Spalten der Tabelle platziert ist. Diese Beschreibung hilft uns zu verstehen, was eine einzigartige Einschränkung in SQLite ist und wie es in SQLite funktioniert.

Was ist die einzigartige Einschränkung in SQLite

Eine eindeutige Einschränkung stellt sicher, dass die Daten in der Spalte eindeutig sein sollten, was bedeutet, dass keine Felder derselben Spalte ähnliche Werte enthalten. Zum Beispiel erstellen wir eine Spalte, eine E -Mail und definieren sie mit der eindeutigen Einschränkung, sodass sichergestellt wird, dass keine in der Spalte eingefügte E -Mail mit dem anderen Datensatz der Spalte übereinstimmen sollte.

Was ist der Unterschied zwischen der eindeutigen und der primären Schlüsselbeschränkung in SQLite

Sowohl Einschränkungen, Primärschlüssel als auch eindeutig stellen sicher, dass in der Tabelle kein doppelter Eintrag eingefügt werden sollte, aber der Unterschied ist; Die Tabelle sollte nur einen Primärschlüssel enthalten, während die eindeutige Einschränkung für mehr als eine Spalte in derselben Tabelle verwendet werden kann.

Wie einzigartige Einschränkungen in SQLite definiert werden

Die eindeutige Einschränkung kann entweder in der einzelnen Spalte oder in mehreren Spalten in SQLite definiert werden.

Wie einzigartige Einschränkungen in einer Spalte definiert werden

Eine eindeutige Einschränkung kann als Spalte definiert werden, mit der sichergestellt werden kann, dass in jedem Feld dieser Spalte keine ähnlichen Werte eingeben können. Die allgemeine Syntax, die eindeutige Einschränkung in einer Spalte zu definieren, lautet:

Table table erstellen (column1 dataType eindeutig, column2 DataType);

Die Erklärung dafür ist:

  • Verwenden Sie die Tabellenklausel erstellen, um eine Tabelle zu erstellen und den table_name zu ersetzen
  • Definieren Sie einen Spaltennamen mit seinem Datentyp, indem Sie die Spalte1 und den Datentyp ersetzen
  • Verwenden Sie die eindeutige Klausel zu einer Spalte, die Sie mit dieser Einschränkung definieren werden
  • Definieren Sie die anderen Spalten mit ihren Datatypen

Um diese Syntax zu verstehen, betrachten Sie ein Beispiel für das Erstellen einer Tabelle für students_data, die zwei Spalten haben. Einer ist von std_id und der andere von ST_NAME, die Spalte STD_ID mit der einzigartigen Einschränkung definieren, damit keiner der Schüler haben kann Ähnliches std_id als:

Tabelle erstellen students_data (STD_ID Integer Uniquer, STD_NAME -Text);

Fügen Sie die Werte ein, verwenden Sie:

Einfügen in die students_data -Werte (1, 'John'), (2, 'Paul');

Jetzt werden wir einen weiteren Schülernamen hinzufügen, bei dem die STD_ID 1 ist:

In die students_data -Werte einfügen (1, 'Hannah');

Wir können aus der Ausgabe erkennen, dass es den Fehler zum Einfügen des Wertes von STD_ID erzeugt hat, da er mit der eindeutigen Einschränkung definiert wurde, was bedeutet, dass kein Wert mit den anderen Werten dieser Spalte dupliziert werden kann.

Wie ist die eindeutige Einschränkung für mehrere Spalten definiert?

Wir können mehrere Spalten mit der eindeutigen Einschränkung definieren, die sicherstellt. Wenn wir beispielsweise Städte für eine Reise zu drei Gruppen von Personen (A, B und C) auswählen müssen, können wir nicht alle drei Gruppen dieselbe Stadt zuweisen. Dies kann durch die Verwendung der einzigartigen Einschränkungen erfolgen.

Zum Beispiel können diese drei Szenarien möglich sein:

Gruppe A Gruppe_B Gruppe_C
Florida Florida Boston
New York Florida Florida
Florida Florida Florida

Das folgende Szenario ist jedoch nicht möglich, wenn wir die eindeutigen Einschränkungen verwenden:

Gruppe A Gruppe_B Gruppe_C
Florida Florida Florida

Die allgemeine Syntax der Verwendung der eindeutigen Einschränkung für die mehreren Spalten lautet:

Table table erstellen (column1 dataType, column2, eindeutig (Spalte1, Spalte2));

Die Erklärung dafür ist:

  • Verwenden Sie die Tabellenklausel erstellen, um eine Tabelle zu erstellen und den table_name durch ihren Namen zu ersetzen
  • Definieren Sie einen Spaltennamen mit seinem Datentyp, indem Sie die Spalte1 und den Datentyp ersetzen
  • Verwenden Sie die eindeutige Klausel und geben Sie die Namen der Spalten in () ein, die Sie mit dieser Einschränkung definieren werden

Um dies zu verstehen, werden wir das obige Beispiel betrachten und den folgenden Befehl ausführen, um eine Tabelle von Trip_Data zu erstellen:

Table trip_data erstellen (gruppe_a text, gruppe_b text, Group_c text, eindeutig (Group_a, Group_B, Group_C));

Wir werden die Werte der Zuweisung ihrer Städte einfügen:

Einfügen in trip_data values ​​('Florida', 'Florida', 'Boston'), ('New York', 'Florida', 'Florida'), ('Florida', 'Florida', 'Florida');

Jetzt werden wir dieselbe Stadt in alle Spalten von Trip_data einfügen:

Einfügen in trip_data values ​​('Florida', 'Florida', 'Florida');

Aus der Ausgabe können wir die Duplikation der Daten in allen Spalten, die durch die eindeutige Einschränkung definiert sind, nicht zulässig und der generierte Fehler der eindeutigen Einschränkung fehlgeschlagen.

So fügen Sie der vorhandenen Tabelle die eindeutige Einschränkung hinzu

In SQLITE können wir die Einschränkung mit dem Befehl änderen hinzufügen. Zum Beispiel haben wir eine Tabelle student_data mit Spalten std_id, std_name, wir möchten der Tabelle eine Einschränkung hinzufügen, studentieren_data:

  • Verwenden Sie den Befehl "Pragma Foreign Keys = Off", um die ausländischen Schlüsselbeschränkungen auszuschrecken
  • Verwenden Sie den Befehl "Transaktion beginnen";
  • Verwenden Sie den Befehl "TABLE TABLE TABLE_NAME ALTERNAME AUF ALT_TABLE." Um die tatsächliche Tabelle umzubenennen
  • Erstellen Sie erneut eine Tabelle mit dem vorherigen Namen, definieren Sie diesmal jedoch auch die eindeutigen Einschränkungen
  • Kopieren Sie die Daten der vorherigen Tabelle (deren Name geändert wird) in die neue Tabelle (die den vorherigen Namen enthält)
  • Löschen Sie die erste Tabelle (deren Name geändert wurde)
  • Verwenden Sie "Commit"
  • Verwenden Sie den Befehl "Pragma Foreign Keys = on", um die Foreign Keys -Einschränkungen zu erhalten
Transaktion beginnen;
Alter table students_data umbenennen auf new_students_data;
Tabelle erstellen students_data (ID Ganzzahl nicht null eindeutig, nennen Sie Text nicht null, Anwesenheit Integer nicht null);
In student_data auswählen * aus New_Students_Data;
Droptabelle new_students_data;
BEGEHEN;
Pragma fremd_keys = on;

So lassen Sie die eindeutige Einschränkung auf die vorhandene Tabelle fallen

Wie bei anderen Datenbanken können wir die Einschränkung nicht durch die Verwendung der DROP- und Änderungsbefehle fallen lassen, um die eindeutigen Einschränkungen zu löschen.

Betrachten Sie das obige Beispiel erneut und entfernen Sie die einzigartigen Einschränkungen daraus:

Pragma fremd_keys = off;
Transaktion beginnen;
Alter table students_data umbenennen auf new_students_data;
Tabelle erstellen students_data (ID Ganzzahl nicht null, nennen Sie Text nicht null, Anwesenheit Integer nicht null);
In student_data auswählen * aus New_Students_Data;
Droptabelle new_students_data;
BEGEHEN;
Pragma fremd_keys = on;

Abschluss

Die eindeutige Einschränkung wird in den Datenbanken verwendet, um die Duplikation der in den Feldern der Tabelle eingefügten Werte genau wie die Hauptschlüsseleinschränkung einzuschränken, aber es gibt einen Unterschied zwischen beiden; Eine Tabelle kann nur einen Primärschlüssel haben, während eine Tabelle mehr als eine eindeutige Schlüsselspalten haben kann. In diesem Artikel haben wir diskutiert, was eine einzigartige Einschränkung ist und wie sie in SQLite mit Hilfe von Beispielen verwendet werden kann.