Heim  >  Artikel  >  Datenbank  >  Wie lege ich den Primärschlüssel beim Erstellen einer Tabelle in MySQL fest?

Wie lege ich den Primärschlüssel beim Erstellen einer Tabelle in MySQL fest?

青灯夜游
青灯夜游Original
2020-10-09 09:19:5027170Durchsuche

Einstellungsmethode: Geben Sie in der Anweisung „CREATE TABLE“ den Primärschlüssel über das Schlüsselwort „PRIMARY KEY“ an. Das Syntaxformat lautet „Feldname Datentyp PRIMARY KEY [Standardwert]“ oder „[CONSTRAINT-Einschränkungsname] PRIMARY KEY Feldname" .

Wie lege ich den Primärschlüssel beim Erstellen einer Tabelle in MySQL fest?

Der vollständige Name von PRIMARY KEY lautet „Primärschlüsseleinschränkung“, die in MySQL am häufigsten verwendete Einschränkung. Unter normalen Umständen wird ein Primärschlüssel in der Tabelle festgelegt, damit das DBMS Datensätze in der Tabelle schneller finden kann.

(Empfohlenes Tutorial: MySQL-Video-Tutorial)

Legen Sie beim Erstellen einer Tabelle Primärschlüsseleinschränkungen fest.

Legen Sie beim Erstellen einer Datentabelle Primärschlüsseleinschränkungen fest. Sie können einen Primärschlüssel für ein Feld in der Tabelle oder für festlegen Ein Feld in der Tabelle. Legen Sie einen gemeinsamen Primärschlüssel für mehrere Felder fest. Aber egal welche Methode verwendet wird, es kann nur einen Primärschlüssel in einer Tabelle geben. Im Folgenden wird erläutert, wie ein Primärschlüssel für ein einzelnes Feld und ein gemeinsamer Primärschlüssel für mehrere Felder festgelegt werden.

1) Legen Sie einen Einzelfeld-Primärschlüssel fest.

Geben Sie in der CREATE TABLE-Anweisung den Primärschlüssel über das Schlüsselwort PRIMARY KEY an.

Geben Sie den Primärschlüssel an, während Sie das Feld definieren. Das Syntaxformat lautet wie folgt:

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

Beispiel 1

Erstellen Sie die Datentabelle tb_emp3 in der Datenbank test_db, deren Primärschlüssel id ist. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt .

mysql> CREATE TABLE tb_emp3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp3;
+--------+-------------+------+-----+---------+-------+
| 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)

Oder geben Sie den Primärschlüssel an, nachdem Sie alle Felder definiert haben. Das Syntaxformat ist wie folgt:

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]

Beispiel 2

Erstellen Sie die Datentabelle tb_emp4 in der Datenbank test_db, wobei der Primärschlüssel die SQL-Anweisung und die ausgeführten Ergebnisse ist sind wie folgt.

mysql> CREATE TABLE tb_emp4
    -> (
    -> 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_emp4;
+--------+-------------+------+-----+---------+-------+
| 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)

2) Beim Erstellen der Tabelle den gemeinsamen Primärschlüssel festlegen

Der sogenannte gemeinsame Primärschlüssel bedeutet, dass dieser Primärschlüssel aus mehreren Feldern einer Tabelle zusammengesetzt ist.

Sollten Sie beispielsweise beim Einrichten einer Datentabelle für die Kursauswahl von Studenten die Studentennummer als Primärschlüssel oder die Kursnummer als Primärschlüssel verwenden? Wird die Matrikelnummer als Primärschlüssel verwendet, kann ein Student nur einen Kurs wählen. Wenn die Kursnummer als Primärschlüssel verwendet wird, kann nur ein Student einen Kurs auswählen. Offensichtlich sind beide Situationen unrealistisch.

Tatsächlich besteht die Einschränkung bei der Gestaltung eines Kursauswahlplans für Studenten darin, dass ein Student denselben Kurs nur einmal wählen kann. Daher können die Matrikelnummer und die Kursnummer als Primärschlüssel zusammengesetzt werden, der ein gemeinsamer Primärschlüssel ist.

Der Primärschlüssel besteht aus mehreren Feldern. Das Syntaxformat lautet wie folgt:

PRIMARY KEY [字段1,字段2,…,字段n]

Hinweis: Wenn der Primärschlüssel aus mehreren Feldern besteht, kann die Primärschlüsseleinschränkung nicht direkt nach dem Feldnamen deklariert werden.

Beispiel 3

Erstellen Sie die Datentabelle tb_emp5. Um einen Mitarbeiter eindeutig zu identifizieren, können Sie Name und DeptId als Primärschlüssel kombinieren wie folgt.

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

Verwandte Empfehlungen: php-Training

Das obige ist der detaillierte Inhalt vonWie lege ich den Primärschlüssel beim Erstellen einer Tabelle in MySQL fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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