Heim  >  Artikel  >  Datenbank  >  Was bedeutet „Restrict“ in MySQL?

Was bedeutet „Restrict“ in MySQL?

WBOY
WBOYnach vorne
2023-05-31 11:41:101083Durchsuche

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);//联合主键

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;

或者在Navicat中添加主键:

Was bedeutet „Restrict“ in MySQL?

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

使用DDL语句删除主键。

ALTER TABLE 表名 DROP PRIMARY KEY;
alter table emp drop primary key;

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

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

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

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

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

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

Was bedeutet „Restrict“ in MySQL?

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

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

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

Was bedeutet „Restrict“ in MySQL?

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

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

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

Was bedeutet „Restrict“ in MySQL?

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

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

ALTER TABLE 表名 DROP KEY 约束名;
alter table emp drop key emp_uk;

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

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

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

Was bedeutet „Restrict“ in MySQL?

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

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

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

Was bedeutet „Restrict“ in MySQL?

创建表的时候添加约束

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

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

 SHOW KEYS FROM 表名;

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;
);

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen