Heim  >  Artikel  >  Datenbank  >  Analyse von MySQL-Datenbankbeschränkungen und Tabellendesignbeispielen

Analyse von MySQL-Datenbankbeschränkungen und Tabellendesignbeispielen

WBOY
WBOYnach vorne
2023-05-29 22:40:051062Durchsuche

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)

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 '匿名');

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)

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!

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