Heim > Datenbank > MySQL-Tutorial > Wie füge ich einen Primärschlüssel in MySQL hinzu?

Wie füge ich einen Primärschlüssel in MySQL hinzu?

青灯夜游
Freigeben: 2019-05-08 10:14:25
Original
42254 Leute haben es durchsucht

Der vollständige Name von „PRIMARY KEY“ lautet „Primary Key Constraint“. Eine MySQL-Primärschlüsseleinschränkung ist eine Spalte oder eine Kombination von Spalten, deren Wert jede Zeile in einer Tabelle eindeutig identifiziert. Eine solche Spalte oder Spalten werden als Primärschlüssel der Tabelle bezeichnet, durch den die Entitätsintegrität der Tabelle erzwungen wird. Wie fügt man also Primärschlüsseleinschränkungen in MySQL hinzu? Der folgende Artikel stellt es Ihnen vor.

Wie füge ich einen Primärschlüssel in MySQL hinzu?

Die Primärschlüsseleinschränkung definiert einen Primärschlüssel in der Tabelle, um die Kennung jeder Datenzeile in der Tabelle eindeutig zu bestimmen. Der Primärschlüssel kann eine bestimmte Spalte in der Tabelle oder eine Kombination mehrerer Spalten sein. Ein aus mehreren Spalten bestehender Primärschlüssel wird als zusammengesetzter Primärschlüssel bezeichnet. Primärschlüssel sollten den folgenden Regeln entsprechen:

● Jede Tabelle kann nur einen Primärschlüssel definieren.

● Der Primärschlüsselwert muss jede Zeile in der Tabelle eindeutig identifizieren und darf nicht NULL sein, d. h. es dürfen in der Tabelle nicht zwei Datenzeilen mit demselben Primärschlüsselwert vorhanden sein. Das ist das Prinzip der Einzigartigkeit.

● Ein Spaltenname kann in der zusammengesetzten Primärschlüsselliste nur einmal vorkommen.

● Der zusammengesetzte Primärschlüssel darf keine unnötigen redundanten Spalten enthalten. Wenn eine Spalte des zusammengesetzten Primärschlüssels gelöscht wird und der aus den verbleibenden Spalten zusammengesetzte Primärschlüssel immer noch das Eindeutigkeitsprinzip erfüllt, ist der zusammengesetzte Primärschlüssel falsch. Dies ist das Prinzip der Minimierung.

1. Fügen Sie beim Erstellen der Tabelle Primärschlüsseleinschränkungen hinzu

In der CREATE TABLE-Anweisung wird der Primärschlüssel durch das Schlüsselwort PRIMARY KEY angegeben.

Geben Sie den Primärschlüssel an, während Sie die Spalte definieren. Die Syntaxregeln lauten wie folgt:

<字段名> <数据类型> PRIMARY KEY [默认值]
Nach dem Login kopieren

Beispiel: Erstellen Sie die Datentabelle tb_emp 1 in der Datenbank test_db, und ihr Primärschlüssel ist id

mysql> CREATE TABLE tb_emp1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
Nach dem Login kopieren

In der Definition: Nachdem alle Spalten ausgefüllt sind, lautet das Syntaxformat zum Angeben des Primärschlüssels:

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]
Nach dem Login kopieren

Beispiel: Erstellen Sie die Datentabelle tb_emp 2 in der Datenbank test_db und ihren Primärschlüssel Schlüssel ist ID

mysql> CREATE TABLE tb_emp2
    -> (
    -> id INT(11),
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp2;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)
Nach dem Login kopieren

2, Primärschlüsseleinschränkungen nach dem Erstellen der Tabelle hinzufügen

Nach dem Erstellen der Tabelle können Sie Primärschlüsseleinschränkungen hinzufügen, wenn Sie die Datentabelle ändern Syntaxregeln sind:

ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
Nach dem Login kopieren

Beispiel: Ändern Sie die Datentabelle tb_emp3 und ändern Sie die Feld-ID, die als Primärschlüssel festgelegt ist

mysql> ALTER TABLE tb_emp3
    -> ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp3;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)
Nach dem Login kopieren

3. Legen Sie den zusammengesetzten Primärschlüssel fest

Sie können beim Erstellen der Tabelle auch einen zusammengesetzten Primärschlüssel hinzufügen. Zu diesem Zeitpunkt besteht der Primärschlüssel wie folgt aus mehreren Feldern:

PRIMARY KEY [字段1,字段2,…,字段n]
Nach dem Login kopieren

Beispiel: Erstellen Sie die Datentabelle tb_emp4 . Gehen Sie davon aus, dass die Tabelle keine Primärschlüssel-ID enthält. Um einen Mitarbeiter eindeutig zu identifizieren, können Sie Name und Abteilungs-ID als Primärschlüssel kombinieren

Das obige ist der detaillierte Inhalt vonWie füge ich einen Primärschlüssel in MySQL hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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