Beispiele für Dateneinschränkungen basierend auf einer MySQL-Datenbank und Einführung in fünf Integritätseinschränkungen

Beispiele für Dateneinschränkungen basierend auf einer MySQL-Datenbank und Einführung in fünf Integritätseinschränkungen

Um zu verhindern, dass nicht konforme Daten in die Datenbank gelangen, überwacht das DBMS die Daten automatisch entsprechend bestimmter Einschränkungen, wenn Benutzer Daten einfügen, ändern, löschen und andere Vorgänge damit durchführen, um zu verhindern, dass nicht konforme Daten in die Datenbank gelangen. Auf diese Weise wird sichergestellt, dass die in der Datenbank gespeicherten Daten korrekt, gültig und kompatibel sind.

#Dateneinschränkungen

#Fünf Integritätsbeschränkungen:
#NOT NULL: Nicht Null-Einschränkung, gibt an, dass eine Spalte nicht leer sein kann;
#UNIQUE: Eindeutigkeitsbedingung, gibt an, dass eine Spalte oder eine Spaltenkombination nicht wiederholt werden kann. #PRIMARY KEY: Primärschlüssel, gibt an, dass der Wert dieser Spalte den Datensatz in dieser Spalte eindeutig identifizieren kann. #FOREIGN KEY: Fremdschlüssel, gibt an, dass dieser Zeilendatensatz zu einem Datensatz in der Primärtabelle gehört. Wird hauptsächlich für die referenzielle Integrität verwendet. #CHECK: Prüfen, geben Sie einen Booleschen Ausdruck an, um anzugeben, dass der entsprechende Wert den Ausdruck erfüllen muss (MySQL unterstützt keine Prüfbedingungen).
#--------------------------------NOT NULL nicht leere Einschränkung---------------------------
Tabelle erstellen test4
(
  #Erstellen Sie eine nicht-null Einschränkungs-ID int not null,
Name varchar(55) Standard 'ABCD' nicht null,
#Der Standardwert ist null
Alter int null
);
#Brechen Sie die nicht leere Einschränkung alter table test4 ab
 ändern Sie den Namen varchar(55) Standard 'ABCD' nicht null,
#Nicht leere Einschränkung hinzufügen, Tabelle ändern, Test4
 Alter ändern, Int nicht null;
#--------------------------------UNIQUE: eindeutige Einschränkung--------------------------------
#Syntax für Einschränkungsaufgaben auf Spaltenebene zum Erstellen von Einschränkungen create table test_unique
 (
 #Erstellen Sie eine eindeutige Einschränkung auf Zeilenebene id int not null unique,
 Alter int
 );
 #Syntaxformat für Einschränkungen auf Tabellenebene create table unique_test3
 (
test6_id int ungleich null,
test6_name varchar(255),
test6_pass varchar(255),
#Verwenden Sie die Einschränkungssyntax auf Tabellenebene, um eine eindeutige Einschränkung zu erstellen, und geben Sie an, dass die Kombination der Spalten test6_id und test6_name nicht wiederholt werden kann. Einschränkung test6_unique unique(test6_id,test6_name),
#Verwenden Sie die Einschränkungssyntax auf Tabellenebene, um eine eindeutige Einschränkung zu erstellen. Der Einschränkungsname lautet test6_unique_2. test6_pass kann nicht wiederholt werden. Einschränkung test6_unique_2 unique(test6_pass)
 );
 #Schlüsselwort hinzufügen, um eine eindeutige Einschränkung hinzuzufügen alter table test4
 eindeutig hinzufügen (ID, Name, Alter);
 #Schlüsselwort ändern, um eine eindeutige Einschränkung zu löschen oder hinzuzufügen. Alter Table Test4
 Alter ändern, varchar (255), nicht null;
 Tabelle ändern test4
 Alter ändern, varchar (255), nicht null, eindeutig;
 #Um eine Einschränkung zu löschen, verwenden Sie bei den meisten Datenbanken: alter table table name drop constraint constraint name #MySQL verwendet diese Methode jedoch nicht. Verwenden Sie stattdessen: alter table table name drop index constraint name #--------------------------------PRIMARY KEY: Primärschlüsseleinschränkung--------------------------------
 #Die Primärschlüsseleinschränkung entspricht der Nicht-Null-Einschränkung und der Eindeutigkeitseinschränkung.
 #Jede Tabelle darf nur einen Primärschlüssel haben, dieser Primärschlüssel kann jedoch aus mehreren Datenspalten bestehen und diese Spaltenkombinationen dürfen nicht wiederholt werden. #Bei Standard-SQL können Sie den Primärschlüssel selbst benennen, bei MySQL hat Ihr eigener Name jedoch keine Auswirkung und wird standardmäßig immer PRIMARY genannt.
 Tabelle primär_test erstellen
 (
#Verwenden Sie eine Syntax auf Spaltenebene, um eine Primärschlüsseleinschränkung zu erstellen test_id int primary key,
Testname varchar(255)
 );
 #Verwenden Sie Syntax auf Tabellenebene, um eine Primärschlüsseleinschränkung zu erstellen create table primary_test2
 (
test_id int ungleich null,
Testname varchar (255),
test_pass varchar(255),
#Geben Sie den Namen der Primärschlüsseleinschränkung test2_pk an, der für die meisten Datenbanken gültig ist, aber nicht für MySQL. Der Name der Primärschlüsseleinschränkung ist immer noch PRIMARY
Einschränkung test2_pk Primärschlüssel (test_id)
 );
 #Erstellen Sie einen Primärschlüssel mit mehreren Spalten create table primary_test3
 (
test_id int,
Testname varchar (255),
Primärschlüssel (Test-ID, Testname)
 );
 #Verwenden Sie die Einschränkungssyntax auf Spaltenebene alter table primary_test3
 test_id int Primärschlüssel ändern();
 #Verwenden Sie die Einschränkungssyntax auf Tabellenebene alter table primary_test3
 Primärschlüssel hinzufügen (Test-ID, Testname);
 #Löschen Sie die Primärschlüsseleinschränkung: alter table table name drop primary key;
 #Selbstinkrementierungsfunktion der Primärschlüsselspalte: Wenn der Datenspaltentyp Integer ist und die Spalte als Primärschlüsselspalte verwendet wird, können Sie angeben, dass die Spalte die Selbstinkrementierungsfunktion hat. #MySQL verwendet auto_increment, um die Selbstinkrementierung festzulegen. Beim Einfügen von Datensätzen in die Tabelle müssen Sie keinen Wert für die Spalte angeben. Das System generiert einen Wert für die Spalte. create table primary_test3
 (
//Primärschlüsseleinschränkung erstellen, Auto-Inkrement-Test-ID festlegen int auto_increment Primärschlüssel,
Testname varchar(255)
 );
 #Fremdschlüsseleinschränkung FOREIGN KEY
 #In MySQL können nur Fremdschlüsseleinschränkungen wirksam werden, die mit Syntax auf Tabellenebene erstellt wurden. #Um die Existenz der Referenz-Mastertabelle sicherzustellen, erstellen Sie zuerst die Mastertabelle create table teacher_tb
 (
t_id int auto_increment,
t_name varchar(255),
Primärschlüssel (t_id)
 );
 Tabelle student_tb erstellen
 (
s_id int auto_increment Primärschlüssel,
s_name varchar(255) nicht null,
t_java int,
Fremdschlüssel (t_java) verweist auf teacher_tb (t_id)
 );
#Wenn Sie die Einschränkungssyntax auf Tabellenebene verwenden, müssen Sie den Fremdschlüssel verwenden, um die Fremdschlüsselspalte dieser Tabelle anzugeben. Wenn Sie beim Erstellen einer Fremdschlüsseleinschränkung den Einschränkungsnamen nicht angeben,
#MySQL benennt die Fremdschlüsseleinschränkung table_name_ibfk_n, wobei table_name der Tabellenname und n eine Ganzzahl ist, die bei 1 beginnt. create table teacher_tb2
 (
t_id int auto_increment,
t_name varchar(255),
Primärschlüssel (t_id)
 );
 Tabelle student_tb2 erstellen
 (
s_id int auto_increment Primärschlüssel,
s_name varchar(255) nicht null,
t_java int,
Einschränkung student_teacher_fk Fremdschlüssel (t_java) Referenzen teacher_tb2 (t_id)
 );
 #Erstellen Sie mehrspaltige zusammengesetzte Fremdschlüsseleinschränkungen, erstellen Sie die Tabelle teacher_tb5
 (
t_name varchar(255),
t_pass varchar(255),
Primärschlüssel (t_name, t_pass)
 );
 Tabelle student_tb5 erstellen
 (
s_id int auto_increment Primärschlüssel,
s_name varchar(255) nicht null,
t_java_pass varchar(255),
t_java_name varchar(255),
Fremdschlüssel (t_java_name, t_java_pass) 
  Referenzen teacher_tb5(t_name,t_pass)
 );
 #Löschen Sie die Fremdschlüsseleinschränkung alter table student_tb2
 Fremdschlüssel student_teacher_fk löschen;
 #Fremdschlüsseleinschränkung hinzufügen alter table student_tb2
 füge Fremdschlüssel (t_java) hinzu, der auf teacher_tb2 (t_id) verweist;
 #Fremdschlüsseleinschränkung bezieht sich auf sich selbst, Selbsteinschränkung erstellt Tabelle foreign_test9
 (
foreign_id int auto_increment Primärschlüssel,
ausländischer_name varchar(255),
refer_id int,
Fremdschlüssel (refer_id) verweist auf Foreign_Test9 (foreign_id)
 );
 #Definieren Sie, dass beim Löschen des Mastertabellendatensatzes auch der Slavetabellendatensatz gelöscht wird. #Beim kaskadierenden Löschen werden alle Slavetabellendatensätze gelöscht, die auf den Mastertabellendatensatz verweisen. #Beim Löschen auf Null werden die Slavetabellendatensätze, die auf den Mastertabellendatensatz verweisen, auf Null gesetzt.
 Tabelle Teacher_tb8 erstellen
 (
t_id int auto_increment,
t_name varchar(255),
Primärschlüssel (t_id)
 );
 Tabelle student_tb8 erstellen
 (
s_id int auto_increment Primärschlüssel,
s_name varchar(255) nicht null,
t_java int,
Einschränkung student_teacher_fk Fremdschlüssel (t_java) verweist auf teacher_tb8 (t_id) bei Löschkaskade
 );

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung, ob die MySQL-Datenbank Fremdschlüsseleinschränkungen verwenden soll
  • MySQL lernen: Fünf Hauptbeschränkungen von Datenbanktabellen im Detail für Anfänger erklärt
  • Detaillierte grundlegende Operationen an Datentabellen in der MySQL-Datenbank
  • MySQL partitioniert vorhandene Tabellen in der Datentabelle
  • MySQL-Datenbankbeschränkungen und Prinzipien des Datentabellenentwurfs

<<:  Bringen Sie Ihnen bei, wie Sie ein React+Antd-Projekt von Grund auf erstellen

>>:  Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)

Artikel empfehlen

Lernprogramm zur Verwendung von HTML-Formular-Tags

Mithilfe von HTML-Formularen können verschiedene ...

So lösen Sie das domänenübergreifende Front-End-Problem mithilfe des Nginx-Proxys

Vorwort Nginx (ausgesprochen „Engine X“) ist ein ...

Erklärung der MySQL-Indextypen Normal, Unique und Full Text

Zu den Indextypen von MySQL gehören Normalindex, ...

Warum ist die Bildlaufleiste auf der Webseite rechts angebracht?

Warum befinden sich die Bildlaufleisten der Brows...

Detaillierte Erläuterung der MySQL-Transaktionsisolationsebene und des MVCC

Inhaltsverzeichnis Transaktionsisolationsebene Be...

Zusammenfassung der Ereignisse, die Browser registrieren können

HTML-Ereignisliste Allgemeine Ereignisse: onClick ...

So deinstallieren Sie MySQL sauber (getestet und effektiv)

Wie deinstalliere ich Mysql vollständig? Befolgen...

Serviceverwaltung der Quellpaketinstallation unter Linux

Inhaltsverzeichnis 1. Startverwaltung des Quellpa...

Detailliertes Tutorial zur Verwendung des Plugins tomcat8-maven-plugin in Maven

Ich habe viele Artikel online durchsucht, aber ke...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

So ändern Sie schnell die Tabellenstruktur einer MySQL-Tabelle

Tabellenstruktur einer MySQL-Tabelle schnell ände...