English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite Einschränkungen

Bedingungen sind Regeln, die auf den Daten列 der Tabelle angewendet werden. Diese dienen dazu, die Datentypen zu begrenzen, die in die Tabelle eingefügt werden können. Dies stellt sicher, dass die Daten in der Datenbank genau und zuverlässig sind.

Bedingungen können auf Spalten- oder Tabellenebene sein. Spaltenebene Bedingungen werden nur auf eine Spalte angewendet, während Tabellenebene Bedingungen auf die gesamte Tabelle angewendet werden.

Hier sind die in SQLite verfügbaren gängigen Bedingungen.

  • NOT NULL Bedingung - stellt sicher, dass der Wert der Spalte nicht NULL ist.

  • DEFAULT Bedingung - stellt sicher, dass der Wert der Spalte standardmäßig einen Standardwert hat, wenn nicht anders angegeben.

  • UNIQUE Bedingung - stellt sicher, dass alle Werte in der Spalte unterschiedlich sind.

  • PRIMARY Key − Eindeutige Identifikation jedes Zeils in der Datenbanktabelle./Dokumentation.

  • CHECK Bedingung - stellt sicher, dass alle Werte in der Spalte bestimmte Bedingungen erfüllen.

NOT NULL-Bedingung

Standardmäßig können Spalten NULL-Werte speichern. Wenn Sie möchten, dass eine Spalte keine NULL-Werte hat, müssen Sie diese Art von Bedingung in dieser Spalte definieren, um anzugeben, dass die Spalte jetzt keine NULL-Werte zulässt.

NULL entspricht keinem Datenwert, es repräsentiert unbekannte Daten.

Beispiel

Zum Beispiel erstellt die folgende SQLite-Anweisung eine neue Tabelle namens COMPANY und fügt fünf Spalten hinzu, von denen drei (ID, NAME und AGE) keine NULL-Werte akzeptieren.

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

DEFAULT-Bedingung

Wenn der INSERT INTO-Anweisung keine spezifischen Werte bereitgestellt werden, stellt die DEFAULT-Bedingung der Spalte einen Standardwert zur Verfügung.

Beispiel

Zum Beispiel, die folgende SQLite-Anweisung erstellt eine neue Tabelle namens COMPANY und fügt fünf Spalten hinzu. Hier wird die Spalte SALARY standardmäßig auf5000.00, daher, wenn die INSERT INTO-Anweisung keinen Wert für diese Spalte bereitstellt, wird diese Spalte standardmäßig auf}}5000.00。

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL    DEFAULT 50000.00
);

UNIQUE-Bedingung

Die UNIQUE-Bedingung verhindert, dass zwei Aufzeichnungen in einer bestimmten Spalte denselben Wert haben. Zum Beispiel möchten Sie in der Tabelle COMPANY möglicherweise verhindern, dass zwei oder mehr Personen dasselbe Alter haben.

Beispiel

Beispielsweise erstellen die folgenden SQLite-Anweisungen eine neue Tabelle namens COMPANY und fügen fünf Spalten hinzu. Hier wird die AGE-Spalte als UNIQUE eingestellt, daher können Sie keine zwei Aufzeichnungen mit dem gleichen Alter haben-

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL UNIQUE,
   ADDRESS        CHAR(50),
   SALARY         REAL    DEFAULT 50000.00
);

PRIMARY Key-Bedingung

Die PRIMARY KEY-Bedingung identifiziert eindeutig jeden Eintrag in der Datenbanktabelle. Es können mehr UNIQUE-Spalten geben, aber in einer Tabelle nur ein Primärschlüssel. Beim Entwerfen von Datenbanktabellen ist der Primärschlüssel wichtig. Der Primärschlüssel ist eine eindeutige ID.

Wir verwenden sie, um Tabellenzeilen zu referenzieren. Beim Erstellen von Beziehungen zwischen Tabellen wird der Primärschlüssel als Fremdschlüssel in anderen Tabellen. Aufgrund der "langen Überwachung der Codeentwicklung" können Primärschlüssel in SQLite NULL sein. Andere Datenbanken sind nicht in diesem Fall.

Der Primärschlüssel ist ein Feld in der Tabelle, das jedes Zeilen in der Datenbanktabelle eindeutig identifiziert/Dokumente. Der Primärschlüssel muss einzigartige Werte enthalten. Primärschlüsselspalten dürfen keine NULL-Werte haben.

Eine Tabelle kann nur einen Primärschlüssel haben, der aus einem oder mehreren Feldern besteht. Wenn mehrere Felder als Primärschlüssel verwendet werden, werden siezusammengesetzte Schlüssel

Wenn eine Tabelle auf einem Tabellenfeld(s) definierten Primärschlüssel definiert hat, dürfen zwei Aufzeichnungen nicht denselben Wert(s) field(s) haben.

Beispiel

Sie haben bereits viele Beispiele gesehen, in denen wir Tabelle COMPANY mit ID als Primärschlüssel erstellt haben.

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

CHECK-Bedingung

CHECK-Bedingungen ermöglichen es, Werte zu überprüfen, die in ein Dokument eingegeben werden. Wenn das Ergebnis der Bedingung false ist, hat das Dokument die Bedingung verletzt und wurde nicht in den Tisch eingefügt.

Beispiel

Beispielsweise, die folgenden SQLite-Anweisungen erstellen eine neue Tabelle namens COMPANY und fügen fünf Spalten hinzu. Hier haben wir eine CHECK-Spalte mit SALARY hinzugefügt, daher können Sie keine SALARY 0 haben.

CREATE TABLE COMPANY3(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL    CHECK(SALARY > 0)
);

Einschränkung löschen

SQLite unterstützt einen begrenzten Subset von ALTER TABLE. Der ALTER TABLE Befehl in SQLite ermöglicht es dem Benutzer, Tabellen umzubenennen oder neue Spalten zu bestehenden Tabellen hinzuzufügen. Spalten können nicht umbenannt, gelöscht oder Einschränkungen in der Tabelle hinzugefügt oder entfernt werden.