Heim > Datenbank > MySQL-Tutorial > So fügen Sie einen Index in MySQL hinzu

So fügen Sie einen Index in MySQL hinzu

青灯夜游
Freigeben: 2020-09-16 14:17:38
Original
31422 Leute haben es durchsucht

MySQL-Methode zum Hinzufügen eines Index: Sie können ihn über die Anweisung [create table] hinzufügen, z. B. [CONSTRAINT PRIMARY KEY |] []

So fügen Sie einen Index in MySQL hinzu

In MySQL können Sie beim Erstellen der Tabelle einen Index erstellen (CREATE TABLE); Sie können ihn auch danach erstellen Zum Erstellen des Tabellenindex verwenden Sie die CREATE INDEX-Anweisung oder die ALTER TABLE-Anweisung.

(Empfohlenes Video-Tutorial: MySQL-Video-Tutorial )

1. Verwenden Sie die CREATE INDEX-Anweisung

for Die CREATE INDEX-Anweisung erstellt einen Index für eine vorhandene Tabelle, diese Anweisung kann jedoch keinen Primärschlüssel erstellen.

CREATE INDEX [<索引名>] ON <表名> (<列名> [<长度>] [ ASC | DESC])
Nach dem Login kopieren

Die Syntaxbeschreibung lautet wie folgt:

● : Geben Sie den Indexnamen an. Eine Tabelle kann mehrere Indizes erstellen, aber jeder Index hat einen eindeutigen Namen in der Tabelle.

● : Geben Sie den Namen der Tabelle an, um einen Index zu erstellen.

● : Geben Sie den Spaltennamen an, um einen Index zu erstellen. Normalerweise können Sie Spalten, die häufig in der JOIN-Klausel und der WHERE-Klausel in der Abfrageanweisung vorkommen, als Indexspalten verwenden.

● : Optional. Gibt an, dass die Längenzeichen vor der Spalte zum Erstellen des Index verwendet werden. Das Erstellen eines Index unter Verwendung eines Teils einer Spalte kann dazu beitragen, die Größe der Indexdatei zu reduzieren und den von den Indexspalten belegten Platz zu sparen. In manchen Fällen kann nur das Präfix einer Spalte indiziert werden. Die Länge einer Indexspalte hat eine maximale Grenze von 255 Byte (1000 Byte für MyISAM- und InnoDB-Tabellen). Wenn die Länge einer Indexspalte diese Grenze überschreitet, kann sie nur mit dem Präfix der Spalte indiziert werden. Darüber hinaus müssen auch Spalten vom Typ BLOB oder TEXT Präfixindizes verwenden.

● ASC|DESC: Optional. ASC gibt an, dass der Index in aufsteigender Reihenfolge sortiert wird, DESC gibt an, dass der Index in absteigender Reihenfolge sortiert wird, und der Standardwert ist ASC.

2. Verwenden Sie die CREATE TABLE-Anweisung

Der Index kann gleichzeitig mit der Erstellung der Tabelle erstellt werden (CREATE TABLE). Das Syntaxformat lautet:

1. Erstellen Sie einen Primärschlüsselindex

CONSTRAINT PRIMARY KEY [索引类型] (<列名>,…)
Nach dem Login kopieren

Wenn Sie die CREATE TABLE-Anweisung zum Definieren von Spaltenoptionen verwenden, können Sie einen Primärschlüssel erstellen, indem Sie PRIMARY KEY direkt nach einer Spaltendefinition hinzufügen . Wenn der Primärschlüssel ein mehrspaltiger Index ist, der aus mehreren Spalten besteht, kann diese Methode nicht verwendet werden. Sie kann nur durch Hinzufügen einer PRIMARY KRY-Klausel (,...) am Ende der Anweisung implementiert werden. .

2. Erstellen Sie einen allgemeinen Index

 KEY | INDEX [<索引名>] [<索引类型>] (<列名>,…)
Nach dem Login kopieren

3. Erstellen Sie einen eindeutigen Index

UNIQUE [ INDEX | KEY] [<索引名>] [<索引类型>] (<列名>,…)
Nach dem Login kopieren

Beispiel 1:

Erstellen Sie eine Tabelle tb_stu_info und erstellen Sie einen allgemeinen Index für das Höhenfeld der Tabelle.

FOREIGN KEY <索引名> <列名>
Nach dem Login kopieren
Beispiel 2: Erstellen Sie eine Tabelle tb_stu_info2 und verwenden Sie das Schlüsselwort UNIQUE, um einen eindeutigen Index für das ID-Feld der Tabelle zu erstellen.

mysql> CREATE TABLE tb_stu_info
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> INDEX(height)
    -> );
Nach dem Login kopieren

3. Verwenden Sie die ALTER TABLE-Anweisung
Während Sie die ALTER TABLE-Anweisung verwenden, um die Tabelle zu ändern, können Sie Änderungen hinzufügen zur vorhandenen Tabelle Index hinzufügen. Die spezifische Methode besteht darin, der ALTER TABLE-Anweisung eine oder mehrere der folgenden Syntaxkomponenten hinzuzufügen.

1. Erstellen Sie einen Primärschlüsselindex

mysql> CREATE TABLE tb_stu_info2
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> UNIQUE INDEX(id)
    -> );
Nach dem Login kopieren

3. Erstellen Sie einen eindeutigen Index

ADD PRIMARY KEY [<索引类型>] (<列名>,…)
Nach dem Login kopieren

Fremdschlüsselindex

ADD INDEX [<索引名>] [<索引类型>] (<列名>,…)
Nach dem Login kopieren

Beispiel 1:

Nachdem Sie eine Tabelle tb_stu_info3 erstellt haben, verwenden Sie das Schlüsselwort UNIQUE, um einen eindeutigen Index für das ID-Feld der Tabelle zu erstellen.

ADD UNIQUE [ INDEX | KEY] [<索引名>] [<索引类型>] (<列名>,…)
Nach dem Login kopieren
4. Indexinformationen anzeigen

, um mit dem Befehl SHOW INDEX die relevanten Indexinformationen in der Tabelle aufzulisten. Die Ausgabeinformationen können durch Hinzufügen von G formatiert werden.
Beispiel:

ADD FOREIGN KEY [<索引名>] (<列名>,…)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo fügen Sie einen Index 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