Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySql-Einschränkungen und -Indizes: So erstellen Sie effizient eine Datenbank

PHPz
Freigeben: 2023-06-16 09:09:37
Original
1517 Leute haben es durchsucht

Mit der Entwicklung des Informationszeitalters ist die Datenverwaltung immer wichtiger geworden und die Datenbank ist eines der grundlegendsten Datenverwaltungswerkzeuge. Datenbanken funktionieren gut in Bereichen, in denen große Mengen an Informationsspeicherung, schnelles Abrufen von Informationen und die Gewährleistung der Datenkonsistenz erforderlich sind. Im Erstellungsprozess einer Datenbank ist die Gestaltung ihrer Struktur und Leistung ein sehr wichtiger Schritt. In diesem Artikel erfahren Sie, wie Sie MySql-Einschränkungen und -Indizes verwenden, um die Datenqualität und Leistung beim Erstellen einer Datenbank zu verbessern.

Einschränkungen von MySql

Einschränkungen von MySql beziehen sich auf die Regeln, die die Daten in der Datenbank begrenzen und sicherstellen, dass die Daten beim Einfügen oder Aktualisieren die angegebenen Anforderungen erfüllen. Zu den von MySql unterstützten Einschränkungstypen gehören Primärschlüsseleinschränkungen, eindeutige Einschränkungen, Fremdschlüsseleinschränkungen, Nicht-Null-Einschränkungen, Standardwerteinschränkungen usw., die im Folgenden einzeln vorgestellt werden:

  1. Primärschlüsseleinschränkungen

Primärschlüsseleinschränkungen sind die Spalten in der Tabelle, die Datensätze eindeutig identifizieren. Die Spaltenwerte des Primärschlüssels müssen eindeutig sein und dürfen nicht null sein. Primärschlüsseleinschränkungen werden beim Definieren der Tabelle deklariert, können beim Erstellen der Tabelle separat deklariert werden oder können später mit der ALTER TABLE-Anweisung hinzugefügt werden. Beispiel:

CREATE TABLE-Mitarbeiter (

id INT PRIMARY KEY,
name VARCHAR(50),
age INT
Nach dem Login kopieren

);

Die ID-Spalte in dieser Tabelle ist die Primärschlüsseleinschränkung, was bedeutet, dass der ID-Wert jedes Datensatzes eindeutig sein muss und nicht null sein darf.

  1. Eindeutige Einschränkung

Die eindeutige Einschränkung erfordert, dass der Wert der Spalte eindeutig sein muss, aber Nullwerte sind zulässig. Eine Tabelle kann über mehrere Unique-Constraint-Spalten verfügen, die ähnlich wie Primärschlüssel-Constraints verwendet werden. Zum Beispiel:

CREATE TABLE-Mitarbeiter (

id INT,
email VARCHAR(50) UNIQUE,
name VARCHAR(50),
age INT
Nach dem Login kopieren

);

In dieser Tabelle ist die E-Mail-Spalte die einzige Einschränkung, was bedeutet, dass der E-Mail-Wert eindeutig sein muss, aber leer sein kann.

  1. Fremdschlüsseleinschränkungen

Fremdschlüsseleinschränkungen werden verwendet, um sicherzustellen, dass die Daten in der Tabelle die richtige Beziehung haben. Eine Fremdschlüsseleinschränkung ist eine Liste einer oder mehrerer Spalten, deren Werte mit den Werten einer Primärschlüssel- oder eindeutigen Einschränkungsspalte in einer anderen Tabelle übereinstimmen müssen. Beispiel:

CREATE TABLE-Mitarbeiter (

id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department_id INT,
FOREIGN KEY (department_id) REFERENCES department(id)
Nach dem Login kopieren

);

In dieser Tabelle ist die Spalte „department_id“ als Fremdschlüsseleinschränkung definiert und das Schlüsselwort REFERENCES wird verwendet, um auf den Primärschlüssel oder die Spalte mit eindeutigen Einschränkungen anderer Tabellen zu verweisen.

  1. Nicht-Null-Einschränkung

Nicht-Null-Einschränkung wird verwendet, um sicherzustellen, dass der Wert der Spalte nicht NULL ist. Zum Beispiel:

CREATE TABLE-mitarbeiter (

id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
Nach dem Login kopieren

);

In dieser Tabelle erlaubt die Namensspalte keine Nullwerte.

  1. Standardwertbeschränkungen

Standardwertbeschränkungen werden verwendet, um sicherzustellen, dass beim Einfügen neuer Daten der Standardwert verwendet wird, wenn für die Spalte kein Wert angegeben ist. Beispiel:

CREATE TABLE-Mitarbeiter (

id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
hire_date DATE DEFAULT '2020-01-01'
Nach dem Login kopieren

);

In dieser Tabelle definiert die Spalte „hire_date“ den Standardwert 1. Januar 2020. Wenn der Wert dieser Spalte beim Einfügen von Daten nicht angegeben wird, lautet der Standardwert automatisch verwendet.

MySql-Index

MySql-Index ist eine in einer Tabelle erstellte Datenstruktur, um Daten in der Tabelle schnell zu finden und darauf zuzugreifen. Zu den von MySql unterstützten Indextypen gehören B-Tree-Index, Volltextindex, Hash-Index usw., die im Folgenden einzeln vorgestellt werden:

  1. B-Tree-Index

B-Tree-Index wird am häufigsten verwendet Indextyp und kann Daten schneller finden. B-Tree-Indizes umfassen Primärschlüsselindizes, eindeutige Indizes und gewöhnliche Indizes und werden auf die gleiche Weise erstellt.

Primärschlüsselindex und eindeutiger Index sind Indizes, die auf einer einzelnen Spalte oder mehreren Spalten basieren. Der Primärschlüsselindex ist der Index auf der Primärschlüsselspalte in der Tabelle Der Wert der Indexspalte muss eindeutig sein.

Gewöhnliche Indizes haben keine Eindeutigkeitsanforderungen und ermöglichen die Anzeige doppelter Werte in Indexspalten. Zum Beispiel:

CREATE TABLE-Mitarbeiter (

id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
INDEX name_index (name)
Nach dem Login kopieren

);

In dieser Tabelle ist die Spalte „name_index“ als normale Indexspalte definiert, um die Suche nach der Spalte „name“ zu beschleunigen.

  1. Volltextindex

Der Volltextindex ist ein Index zum Durchsuchen von Spalten mit Text, mit dem Textdaten mit Schlüsselwörtern schnell gefunden werden können. Zum Beispiel:

CREATE TABLE-Artikel (

id INT PRIMARY KEY,
title VARCHAR(50),
content TEXT,
FULLTEXT search_index (title, content)
Nach dem Login kopieren

);

In dieser Tabelle ist die Spalte „search_index“ als Volltextindexspalte definiert, um die Suche in den Spalten „Titel“ und „Inhalt“ zu beschleunigen.

  1. Hash-Index

Der Hash-Index ist ein auf einem Hash-Algorithmus basierender Index, mit dem Datensätze schnell gefunden werden können. Hash-Indizes können nur für Gleichheitsabfragen verwendet werden, nicht für Bereichsabfragen und Sortierungen. Zum Beispiel:

CREATE TABLE student (

id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
INDEX age_index (age) USING HASH
Nach dem Login kopieren

);

In dieser Tabelle ist die Spalte „age_index“ als Hash-Indexspalte definiert, um die Suche nach der Altersspalte zu beschleunigen.

Fazit

Beim Erstellen einer Datenbank sind Einschränkungen und Indizes sehr wichtige Schlüsselfaktoren. Ihre ordnungsgemäße Verwendung kann die Datenqualität und Leistung der Datenbank verbessern. Bei der Verwendung von Einschränkungen und Indizes sollten Sie den geeigneten Typ entsprechend den Merkmalen und Anforderungen der Daten auswählen, um die besten Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonMySql-Einschränkungen und -Indizes: So erstellen Sie effizient eine Datenbank. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!