Inhaltsverzeichnis
Was sind Einschränkungen in MySQL?
Einschränkungen für Operationstische
创建表的时候添加约束
Heim Datenbank MySQL-Tutorial Was bedeutet „Restrict' in MySQL?

Was bedeutet „Restrict' in MySQL?

May 31, 2023 am 11:41 AM
mysql restrict

Einschränken bedeutet in MySQL eine Einschränkung der Daten in der Tabelle. Dies kann dem Datenbankadministrator helfen, die Datenbank besser zu verwalten und die Richtigkeit, Gültigkeit und Vollständigkeit der Daten in der Datenbank sicherzustellen. In MySQL stehen sechs Arten von Einschränkungen zur Verfügung, darunter Primärschlüsseleinschränkungen, Fremdschlüsseleinschränkungen, eindeutige Einschränkungen, Prüfeinschränkungen, Nicht-Null-Einschränkungen und Standardwerteinschränkungen.

Was sind Einschränkungen in MySQL?

restrict (Einschränkung) bezieht sich auf eine Einschränkung der Daten in der Tabelle, die dem Datenbankadministrator helfen kann, die Datenbank besser zu verwalten und die Richtigkeit, Gültigkeit und Integrität der Daten in der Datenbank sicherzustellen.

Wenn in der Datentabelle ungültige Werte wie 200, 300 als Alterswert gespeichert sind, sind diese Werte bedeutungslos. Daher ist es notwendig, Einschränkungen zu verwenden, um den Datenbereich in der Tabelle einzuschränken.

Einschränkungen in MySQL werden verwendet, um die Richtigkeit und Rationalität von Daten zu erkennen: 1. Gleiche doppelte Daten; 3. Datenverlustfehler (leere Daten); kann nicht genau verknüpft werden) usw.

Die Einschränkungen von MySQL sollen einige Probleme lösen, z. B. das Verbot doppelter ID-Nummern und das Erzwingen, dass die Lieferadresse nicht leer ist. Wenn eine Einschränkung verletzt wird, wird das Datenmanipulationsverhalten unterdrückt.

In MySQL werden hauptsächlich die folgenden 6 Arten von Einschränkungen unterstützt:

1) Primärschlüsseleinschränkungen

Primärschlüsseleinschränkungen sind die am häufigsten verwendeten Einschränkungen. Beim Entwerfen einer Datentabelle ist es im Allgemeinen erforderlich, einen Primärschlüssel in der Tabelle festzulegen.

Der Primärschlüssel ist ein spezielles Feld in der Tabelle, das jede Information in der Tabelle eindeutig identifiziert. Beispielsweise ist die Studentennummer in der Studenteninformationstabelle eindeutig.

2) Fremdschlüsseleinschränkungen

Fremdschlüsseleinschränkungen werden häufig zusammen mit Primärschlüsseleinschränkungen verwendet, um die Datenkonsistenz sicherzustellen.

Zum Beispiel gibt es an einem Obststand nur 4 Obstsorten: Äpfel, Pfirsiche, Pflaumen und Wassermelonen. Wenn Sie dann zum Obststand kommen, um Obst zu kaufen, können Sie nur Äpfel, Pfirsiche, Pflaumen und Wassermelonen auswählen. und du kannst keine anderen Früchte kaufen.

3) Eindeutige Einschränkung

Eindeutige Einschränkungen und Primärschlüsseleinschränkungen haben etwas gemeinsam, das heißt, beide garantieren die Eindeutigkeit der Spalte. Anders als bei der Primärschlüsseleinschränkung kann es in einer Tabelle mehrere eindeutige Einschränkungen geben, und die Spalte, in der die eindeutige Einschränkung festgelegt ist, darf Nullwerte haben, obwohl es nur einen Nullwert geben kann.

Wenn Sie beispielsweise in der Benutzerinformationstabelle doppelte Benutzernamen in der Tabelle vermeiden möchten, können Sie die Benutzernamenspalte als eindeutige Einschränkung festlegen.

4) Check-Einschränkung

Mit der Check-Einschränkung können Sie überprüfen, ob der Feldwert in der Datentabelle gültig ist.

Das Altersfeld in der Schülerinformationstabelle enthält keine negativen Zahlen und unterliegt numerischen Einschränkungen. Als Student sollte Ihr Alter in der Regel zwischen 18 und 30 Jahren liegen. Um die Eingabe ungültiger Daten zu reduzieren, müssen beim Festlegen der Prüfeinschränkungen des Felds entsprechende Einstellungen entsprechend der tatsächlichen Situation vorgenommen werden.

5) Nicht-Null-Einschränkung

Eine Nicht-Null-Einschränkung wird verwendet, um die Felder in der Tabelle so einzuschränken, dass sie nicht leer sein dürfen. Wenn der Name des Studenten nicht im Studenteninformationsformular ausgefüllt wird, ist dieser Eintrag bedeutungslos.

6) Standardwertbeschränkung

Die Standardwertbeschränkung wird verwendet, um einzuschränken, dass, wenn ein Feld in der Datentabelle keinen Wert eingibt, automatisch ein bereits festgelegter Wert hinzugefügt wird.

Wenn Sie beispielsweise bei der Registrierung von Studenteninformationen nicht das Geschlecht des Studenten eingeben, wird standardmäßig ein Geschlecht festgelegt oder „unbekannt“ eingegeben.

Standardwerteinschränkungen werden normalerweise für Spalten verwendet, für die Nicht-Null-Einschränkungen festgelegt wurden, wodurch Fehler beim Eingeben von Daten in die Datentabelle verhindert werden können.

Unter den oben genannten 6 Einschränkungen kann es in einer Datentabelle nur eine Primärschlüsseleinschränkung und mehrere andere Einschränkungen geben.

Einschränkungen für Operationstische

1. Primärschlüsseleinschränkungen zu einer Tabelle hinzufügen

Eine Tabelle kann nur einen Primärschlüssel haben.

Einzelner Primärschlüssel: Verwenden Sie eine Spalte als Primärschlüsselspalte. Wenn die Werte dieser Spalte wiederholt werden, wird die Eindeutigkeitsbeschränkung verletzt.

                Gemeinsamer Primärschlüssel: Verwenden Sie mehrere Spalten als Primärschlüsselspalten. Wenn die Werte mehrerer Spalten gleich sind, wird die Eindeutigkeitsbeschränkung verletzt. Es bezieht sich auf: Verwenden einer Kombination mehrerer Spalten zur Bestimmung des Primärschlüssels. Wenn eine Kombination wiederholt wird, ist sie ungültig, z. B. eine Kombination aus 00, 01, 10, 11, 12, 22.

Fügen Sie Primärschlüsseleinschränkungen mithilfe von DDL-Anweisungen hinzu. Beispiel:

ALTER TABLE 表名 ADD PRIMARY KEY(列名);
alter table emp add primary key(employee_id);//选取employee_id作为主键
alter table emp add primary key(employee_id,shenfen_id);//联合主键
Nach dem Login kopieren

2. Fügen Sie einer Tabelle die Auto-Inkrement-Primärschlüsseleinschränkung

auto_increment hinzu. Wenn das Datenbankverwaltungssystem die Tabelle automatisch verwaltet, fügt es den Primärschlüssel automatisch gemäß der Methode zur Erhöhung der natürlichen Zahl hinzu. Ebenso verwenden sich selbst erhöhende Primärschlüssel eine bestimmte Spalte als Primärschlüssel. Wenn Daten zu einem Feld mit einem zur Tabelle hinzugefügten Primärschlüssel hinzugefügt werden, wird der Primärschlüssel automatisch um 1 erhöht.

Selbstvergrößernde Primärschlüssel und allgemeine Primärschlüsselbeschränkungen können ineinander umgewandelt werden.

1. Nur eine Spalte in einer Tabelle kann automatisch wachsen. 2. Der Typ der automatisch wachsenden Spalte muss Ganzzahltyp sein. 3. Automatisches Wachstum kann nur zu Spalten mit Primärschlüssel-Einschränkungen und Eindeutigkeits-Einschränkungen hinzugefügt werden. 4. Löschen Sie die Primärschlüsseleinschränkung oder Eindeutigkeitsbeschränkung. Wenn die Spalte über die Fähigkeit zum automatischen Wachstum verfügt, müssen Sie zuerst das automatische Wachstum entfernen und dann die Einschränkung löschen.

注意点:如果之前给某个字段添加了自增长属性,则删除这个字段时要先删除自增长属性。

alter table 表名 modify 主键 类型 auto_increment;
alter table emp modify employee_id int auto_increment;
Nach dem Login kopieren

或者在Navicat中添加主键:

Was bedeutet „Restrict in MySQL?

3、删除一张表中的主键约束

使用DDL语句删除主键。

ALTER TABLE 表名 DROP PRIMARY KEY;
alter table emp drop primary key;
Nach dem Login kopieren

注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。

alter table emp modify employee_id int;//去掉自增长,与添加自增长代码地区别就是没有auto_increament
alter table emp drop primary key;
Nach dem Login kopieren

4、给一张表添加外键约束

使用DDL语句添加外键约束。可以给一张表设置多个外键。

ALTER  TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN  KEY(列名) REFERENCES 参照的表名(参照的列名);
alter table emp add constraint emp_fk
foreign key(dept_id) references
departments(department_id);
Nach dem Login kopieren

或在在Navicat中添加外键。外键名称常使用:表名_fk,表名_fk1表示。

Was bedeutet „Restrict in MySQL?

5、删除一张表的外键约束

外键约束可以通过使用DDL语句来删除。或者在Navicat中主动删除外键。

ALTER TABLE 表名 DROP FOREIGN KEY 约束名;
alter table emp drop foreign key emp_fk;
Nach dem Login kopieren

Was bedeutet „Restrict in MySQL?

6、给表中某字段添加唯一性约束

使用DDL语句添加唯一性约束。或在在Navicat中添加唯一性约束。

ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名);
alter table emp add constraint emp_uk unique(name);
Nach dem Login kopieren

Was bedeutet „Restrict in MySQL?

7、删除表中某字段的唯一性约束

使用DDL语句删除唯一性约束。删除之前需要弄清楚删除的约束名是对哪一个字段进行约束的。

ALTER TABLE 表名 DROP KEY 约束名;
alter table emp drop key emp_uk;
Nach dem Login kopieren

8、给表中某个字段添加非空约束

使用DDL语句添加非空约束。或者Navicat。

ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL;
alter table emp modify salary float(8,2) not NULL;
Nach dem Login kopieren

Was bedeutet „Restrict in MySQL?

9、删除表中某个字段的非空约束

使用DDL语句删除非空约束。

ALTER TABLE 表名 MODIFY 列名 类型 NULL;
alter table emp modify salary float(8,2) NULL;
Nach dem Login kopieren

Was bedeutet „Restrict in MySQL?

创建表的时候添加约束

上面介绍了当一张表已经存在之后如何添加约束。下面介绍在一开始新建表的时候如何添加约束。

1、查询表中加了哪些约束?

 SHOW KEYS FROM 表名;
Nach dem Login kopieren

2、创建表时添加约束

创建 depts 表包含 department_id 该列为主键且自动增长,department_name 列不允许重复,location_id 列不允含有空值。

create table depts
(
department_id int primary key auto_increment,
department_name varchar(30) unique,
location_id int not null;
);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas bedeutet „Restrict' in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen May 08, 2024 am 10:24 AM

Fähigkeiten zur Verarbeitung von Big-Data-Strukturen: Chunking: Teilen Sie den Datensatz auf und verarbeiten Sie ihn in Blöcken, um den Speicherverbrauch zu reduzieren. Generator: Generieren Sie Datenelemente einzeln, ohne den gesamten Datensatz zu laden, geeignet für unbegrenzte Datensätze. Streaming: Lesen Sie Dateien oder fragen Sie Ergebnisse Zeile für Zeile ab, geeignet für große Dateien oder Remote-Daten. Externer Speicher: Speichern Sie die Daten bei sehr großen Datensätzen in einer Datenbank oder NoSQL.

Wie optimiert man die MySQL-Abfrageleistung in PHP? Wie optimiert man die MySQL-Abfrageleistung in PHP? Jun 03, 2024 pm 08:11 PM

Die MySQL-Abfrageleistung kann durch die Erstellung von Indizes optimiert werden, die die Suchzeit von linearer Komplexität auf logarithmische Komplexität reduzieren. Verwenden Sie PreparedStatements, um SQL-Injection zu verhindern und die Abfrageleistung zu verbessern. Begrenzen Sie die Abfrageergebnisse und reduzieren Sie die vom Server verarbeitete Datenmenge. Optimieren Sie Join-Abfragen, einschließlich der Verwendung geeigneter Join-Typen, der Erstellung von Indizes und der Berücksichtigung der Verwendung von Unterabfragen. Analysieren Sie Abfragen, um Engpässe zu identifizieren. Verwenden Sie Caching, um die Datenbanklast zu reduzieren. Optimieren Sie den PHP-Code, um den Overhead zu minimieren.

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Jun 03, 2024 pm 12:19 PM

Das Sichern und Wiederherstellen einer MySQL-Datenbank in PHP kann durch Befolgen dieser Schritte erreicht werden: Sichern Sie die Datenbank: Verwenden Sie den Befehl mysqldump, um die Datenbank in eine SQL-Datei zu sichern. Datenbank wiederherstellen: Verwenden Sie den Befehl mysql, um die Datenbank aus SQL-Dateien wiederherzustellen.

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Jun 02, 2024 pm 02:26 PM

Wie füge ich Daten in eine MySQL-Tabelle ein? Mit der Datenbank verbinden: Stellen Sie mit mysqli eine Verbindung zur Datenbank her. Bereiten Sie die SQL-Abfrage vor: Schreiben Sie eine INSERT-Anweisung, um die einzufügenden Spalten und Werte anzugeben. Abfrage ausführen: Verwenden Sie die Methode query(), um die Einfügungsabfrage auszuführen. Bei Erfolg wird eine Bestätigungsmeldung ausgegeben.

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Jun 02, 2024 pm 02:13 PM

So verwenden Sie gespeicherte MySQL-Prozeduren in PHP: Verwenden Sie PDO oder die MySQLi-Erweiterung, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Bereiten Sie die Anweisung zum Aufrufen der gespeicherten Prozedur vor. Führen Sie die gespeicherte Prozedur aus. Verarbeiten Sie die Ergebnismenge (wenn die gespeicherte Prozedur Ergebnisse zurückgibt). Schließen Sie die Datenbankverbindung.

Wie erstelle ich eine MySQL-Tabelle mit PHP? Wie erstelle ich eine MySQL-Tabelle mit PHP? Jun 04, 2024 pm 01:57 PM

Das Erstellen einer MySQL-Tabelle mit PHP erfordert die folgenden Schritte: Stellen Sie eine Verbindung zur Datenbank her. Erstellen Sie die Datenbank, falls sie nicht vorhanden ist. Wählen Sie eine Datenbank aus. Tabelle erstellen. Führen Sie die Abfrage aus. Schließen Sie die Verbindung.

Der Unterschied zwischen Oracle-Datenbank und MySQL Der Unterschied zwischen Oracle-Datenbank und MySQL May 10, 2024 am 01:54 AM

Oracle-Datenbank und MySQL sind beide Datenbanken, die auf dem relationalen Modell basieren, aber Oracle ist in Bezug auf Kompatibilität, Skalierbarkeit, Datentypen und Sicherheit überlegen, während MySQL auf Geschwindigkeit und Flexibilität setzt und eher für kleine bis mittlere Datensätze geeignet ist. ① Oracle bietet eine breite Palette von Datentypen, ② bietet erweiterte Sicherheitsfunktionen, ③ ist für Anwendungen auf Unternehmensebene geeignet; ① MySQL unterstützt NoSQL-Datentypen, ② verfügt über weniger Sicherheitsmaßnahmen und ③ ist für kleine bis mittlere Anwendungen geeignet.

See all articles