Heim > Datenbank > MySQL-Tutorial > Hauptteil

Analyse von MySQL-Datenbankbeschränkungen und Tabellendesignbeispielen

WBOY
Freigeben: 2023-05-29 22:40:05
nach vorne
1065 Leute haben es durchsucht

Datenbankeinschränkungen

nicht null

Geben Sie an, dass der Speicher einer bestimmten Spalte kein Nullwert sein darf gemeldet

Standard

Es wird angegeben, dass beim Zuweisen eines Werts zu einer Spalte der Standardwert

create table student (id int not null,name varchar(20));
Query OK, 0 rows affected (0.01 sec)
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Primärschlüssel Primärschlüssel

Primärschlüsseleinschränkung eine Kombination aus nicht null und eindeutig ist, um sicherzustellen, dass die Zuweisung einer Spalte nicht möglich ist null und ist eindeutig.

Auto-Inkrementierungsfunktionen:

1 Aufzeichnen

3. Fügen Sie die Daten ein und löschen Sie sie dann. Der automatisch inkrementierte Wert wird nicht wiederverwendet und beginnt mit dem gelöschten. Automatische Inkrementierung

create table student(id int,name varchar(20) default '匿名');
Nach dem Login kopieren

Fremdschlüssel-Fremdschlüssel

Fremdschlüsseleinschränkung, die Daten in Tabelle eins muss in Tabelle zwei vorhanden sein, siehe Integritätskriterium

Fremdschlüsseleinschränkung beschreibt die Beziehung zwischen zwei Spalten zweier Tabellen. Die „Abhängigkeit“

Fremdschlüsseleinschränkungen wirken sich auf das Löschen der Tabelle aus Die folgende Instanz ist verknüpft und kann daher nicht einfach gelöscht werden.

create table student (id int primary key auto_increment,name varchar(20));
Query OK, 0 rows affected (0.01 sec)
mysql> desc student;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> insert into student values(null,'张三');
Query OK, 1 row affected (0.00 sec)
mysql> select * from student;
+----+--------+
| id | name   |
+----+--------+
|  1 | 张三   |
+----+--------+
1 row in set (0.00 sec)
Nach dem Login kopieren

check

Geben Sie eine Bedingung an und verwenden Sie die Bedingung, um den Wert zu bestimmen -zu-eins-Designtabellen sind wie Schülertabellen und Kontotabellen, und ein Schüler hat nur ein Konto

1 Diese beiden Entitäten können durch eine Tabelle dargestellt werden

2 kann durch zwei Tabellen dargestellt werden, von denen eine die ID der anderen Tabelle enthält.

Eins-zu-viele

Ein Schüler sollte in einer Klasse sein. Eine Klasse kann mehrere Schüler enthalten . Fügen Sie in der Klassentabelle eine neue Spalte hinzu, um die Schüler-IDs in dieser Klasse anzugeben (MySQL hat keinen Array-Typ, Redis kann)

2 . Die Klassentabelle bleibt unverändert

Many-to-Many-Designtabelle ist wie die Studententabelle und der Kursplan. Ein Kurs kann auch von mehreren Studenten verwendet werden. Wählen Sie

Darstellungsmethode:

Verwenden Sie eine Zuordnungstabelle, um die Beziehung zwischen zwei Entitäten darzustellen.

Instanz zur Erstellung einer Viele-zu-Viele-Tabelle

Das obige ist der detaillierte Inhalt vonAnalyse von MySQL-Datenbankbeschränkungen und Tabellendesignbeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage