Ist der Primärschlüssel in MySQL ein Index?
Der Primärschlüssel in MySQL ist kein Index. Der vollständige Name des Primärschlüssels lautet „Primärschlüsseleinschränkung“, was eine Einschränkung für die Daten in der Tabelle darstellt. Es handelt sich um ein spezielles Feld der Tabelle, das jede Information in der Tabelle und den Index eindeutig identifizieren kann Eine spezielle Datenbankstruktur, die aus Daten besteht. Eine Kombination aus einer oder mehreren Spalten in einer Tabelle, die zur schnellen Abfrage von Datensätzen mit einem bestimmten Wert in der Datentabelle verwendet werden kann.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
MySQL-Primärschlüssel
In MySQL lautet der vollständige Name des Primärschlüssels (PRIMARY KEY) „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.
Einschränkung bezieht sich auf eine Einschränkung der Daten in der Tabelle, die Datenbankadministratoren dabei helfen kann, die Datenbank besser zu verwalten und die Richtigkeit und Gültigkeit der Daten in der Datenbank sicherzustellen.
Der Primärschlüssel ist ein spezielles Feld in der Tabelle, das jede Information in der Tabelle eindeutig identifiziert. Beispielsweise ist die Studentennummer in der Studenteninformationstabelle eindeutig.
Primärschlüssel werden in Einzelfeld-Primärschlüssel und gemeinsame Mehrfeld-Primärschlüssel unterteilt. In diesem Abschnitt wird die Erstellung, Änderung und Löschung dieser beiden Primärschlüsselbeschränkungen erläutert.
Bei der Verwendung von Primärschlüsseln sind folgende Punkte zu beachten:
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. die Tabelle darf nicht zwei Datenzeilen mit demselben Primärschlüsselwert enthalten. Das ist das Prinzip der Einzigartigkeit.
Ein Feldname kann in der gemeinsamen Primärschlüsselfeldtabelle nur einmal vorkommen.
Der gemeinsame Primärschlüssel darf keine unnötigen redundanten Felder enthalten. Wenn ein Feld im gemeinsamen Primärschlüssel gelöscht wird und der aus den verbleibenden Feldern zusammengesetzte Primärschlüssel immer noch das Eindeutigkeitsprinzip erfüllt, ist der gemeinsame Primärschlüssel falsch. Dies ist das Prinzip der Minimierung.
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 einen gemeinsamen Primärschlüssel für mehrere Felder in der Tabelle festlegen Tisch. 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)
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 als Primärschlüssel die Matrikelnummer verwendet, kann ein Student nur eine Lehrveranstaltung 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(name,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)
Primärschlüsseleinschränkungen beim Ändern der Tabelle hinzufügenPrimärschlüsseleinschränkungen können nicht nur beim Erstellen der Tabelle erstellt, sondern auch beim Ändern der Tabelle hinzugefügt werden. Es ist jedoch zu beachten, dass in Feldern, die als Primärschlüsseleinschränkungen festgelegt sind, keine Nullwerte zulässig sind.
Das Syntaxformat zum Hinzufügen von Primärschlüsseleinschränkungen beim Ändern der Datentabelle lautet wie folgt:
ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
Sehen Sie sich die Tabellenstruktur der tb_emp2-Datentabelle an. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt.
mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
Beispiel 4
Ändern Sie die Datentabelle tb_emp2 und legen Sie die Feld-ID als Primärschlüssel fest. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.
mysql> ALTER TABLE tb_emp2 -> ADD PRIMARY KEY(id); Query OK, 0 rows affected (0.94 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | 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)
Wenn Sie beim Ändern der Tabelle die Primärschlüsseleinschränkung eines Felds in der Tabelle festlegen möchten, müssen Sie normalerweise sicherstellen, dass die Werte in dem als Primärschlüsseleinschränkung festgelegten Feld keine Duplikate aufweisen dürfen und nicht vorhanden sein dürfen. null. Andernfalls kann die Primärschlüsseleinschränkung nicht festgelegt werden.
MySQL-Index (Index)
Index ist eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht. Sie kann zum schnellen Abfragen von Datensätzen mit einem bestimmten Wert in der Datentabelle verwendet werden.
Mit dem Index müssen Sie beim Abfragen von Daten nicht alle Informationen im Datensatz lesen, sondern nur die Indexspalte abfragen. Andernfalls liest das Datenbanksystem alle Informationen jedes Datensatzes zum Abgleich.
Der Index kann mit der phonetischen Reihenfolge des Xinhua-Wörterbuchs verglichen werden. Wenn Sie beispielsweise das Wort „ku“ nachschlagen möchten und keine Lautfolge verwenden, müssen Sie es Seite für Seite in den 400 Seiten des Wörterbuchs finden. Wenn Sie jedoch das Pinyin extrahieren, um eine phonetische Sequenz zu bilden, müssen Sie es nur direkt in der Phonetiktabelle von mehr als 10 Seiten nachschlagen. Dadurch kann viel Zeit gespart werden.
Vor- und Nachteile von Indizes
Indizes haben ihre offensichtlichen Vorteile und ihre unvermeidlichen Nachteile.
Vorteile
Die Vorteile von Indizes sind wie folgt:
Durch die Erstellung eines eindeutigen Index kann die Eindeutigkeit jeder Datenzeile in der Datenbanktabelle garantiert werden.
Sie können Indizes für alle MySQL-Spaltentypen festlegen.
kann die Datenabfrage erheblich beschleunigen, was der Hauptgrund für die Verwendung von Indizes ist.
kann die Verbindung zwischen Tabellen beschleunigen, um die referenzielle Integrität von Daten zu erreichen.
Bei Verwendung von Gruppierungs- und Sortierklauseln für die Datenabfrage kann auch die Zeit für das Gruppieren und Sortieren in der Abfrage erheblich verkürzt werden Das Erstellen und Verwalten von Indexgruppen nimmt Zeit in Anspruch, und diese Zeit nimmt mit zunehmender Datenmenge zu.
Indizes müssen zusätzlich zum von der Datentabelle belegten Datenspeicherplatz auch eine bestimmte Menge an physischem Speicherplatz belegen. Wenn Sie über eine große Anzahl von Indizes verfügen, erreichen die Indexdateien möglicherweise schneller ihre maximale Dateigröße als die Datendateien.
- Beim Hinzufügen, Löschen und Ändern von Daten in der Tabelle muss der Index auch dynamisch gepflegt werden, was die Geschwindigkeit der Datenpflege verringert.
- Bei der Verwendung von Indizes müssen Sie die Vor- und Nachteile von Indizes berücksichtigen.
Indizes können die Abfragegeschwindigkeit verbessern, wirken sich jedoch auf die Geschwindigkeit beim Einfügen von Datensätzen aus. Denn beim Einfügen von Datensätzen in eine indizierte Tabelle sortiert das Datenbanksystem nach dem Index, wodurch die Geschwindigkeit beim Einfügen von Datensätzen verringert wird. Die Auswirkungen auf die Geschwindigkeit werden beim Einfügen einer großen Anzahl von Datensätzen deutlicher. In diesem Fall besteht die beste Möglichkeit darin, zuerst den Index in der Tabelle zu löschen, dann die Daten einzufügen und nach Abschluss des Einfügens den Index zu erstellen.
【Verwandte Empfehlung: - MySQL-Video-Tutorial
】
Das obige ist der detaillierte Inhalt vonIst der Primärschlüssel in MySQL ein Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.
