Erstellen oder Ändern von Tabellen oder Indizes mithilfe einer Datendefinitionsabfrage

Hinweis:  Wir möchten Ihnen die aktuellsten Hilfeinhalte so schnell wie möglich in Ihrer eigenen Sprache bereitstellen. Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Teilen Sie uns bitte über den Link am unteren Rand dieser Seite mit, ob die Informationen für Sie hilfreich sind. Hier finden Sie den englischen Artikel als Referenz.

Sie können erstellen und Ändern von Tabellen, Einschränkungen, Indizes und Beziehungen in Access durch Schreiben von Daten Definition-Abfragen in SQL-Ansicht. In diesem Artikel wird erläutert, Datendefinitionsabfrage Abfragen und deren Verwendung zum Erstellen von Tabellen, Einschränkungen, Indizes und Beziehungen. In diesem Artikel können Sie entscheiden, wann eine Datendefinitionsabfrage verwendet auch helfen.

Inhalt dieses Artikels

(Übersicht)

Erstellen oder Ändern einer Tabelle

Erstellen eines Indexes

Erstellen einer Einschränkung oder einer Beziehung

Übersicht

Im Gegensatz zu anderen Access-Abfragen Ruft eine Datendefinitionsabfrage keine Daten ab. Stattdessen verwendet eine Datendefinitionsabfrage Data Definition Language, erstellen, ändern oder Löschen von Datenbankobjekten.

Hinweis: Datendefinitionssprache (Data Definition Language, DDL) ist ein Teil der Structured Query Language (SQL).

Datendefinitionsabfrage Abfragen können sehr praktisch sein. Sie können regelmäßig löschen und Neuerstellen Teile der Datenbankschema lediglich, indem Sie einige Abfragen ausführen. Erwägen Sie eine Datendefinitionsabfrage, wenn Sie die SQL-Anweisungen vertraut sind, und Sie planen, löschen und Neuerstellen von bestimmter Tabellen, Einschränkungen, Index oder einer Beziehung.

Warnung: Verwenden zum Ändern von Datenbankobjekten Datendefinitionsabfrage Abfragen werden riskant, da die Aktionen Bestätigungsdialogfeld nicht beigefügt werden. Wenn Sie einen Fehler gemacht haben, können Sie Daten verloren gehen oder versehentlich das Design einer Tabelle ändern. Seien Sie vorsichtig, wenn Sie eine Datendefinitionsabfrage verwenden, um Objekte in einer Datenbank zu ändern. Wenn Sie nicht verantwortlich zum Verwalten der Datenbank, die Sie verwenden sind, sollten Sie mit dem Administrator der Datenbank sprechen, bevor Sie eine Datendefinitionsabfrage ausführen.

Wichtig: Erstellen einer Sicherungskopie keine Tabellen verbindet, bevor Sie eine Datendefinitionsabfrage ausführen.

DDL Schlüsselwörter

Schlüsselwort

Verwenden Sie

CREATE

Erstellen Sie einen Index oder eine Tabelle, die noch nicht vorhanden ist.

ALTER

Ändern einer vorhandenen Tabelle oder Spalte.

DROP

Löschen einer vorhandenen Tabelle, Spalte oder Einschränkung.

ADD

Hinzufügen einer Spalte oder eine Einschränkung zu einer Tabelle.

COLUMN

Verwenden Sie mit hinzufügen, ändern, oder legen Sie ab

CONSTRAINT

Verwenden Sie mit hinzufügen, ändern, oder legen Sie ab

INDEX

Mit erstellen

TABLE

Verwenden mit ALTER, erstellen oder löschen

Seitenanfang

Erstellen oder Ändern einer Tabelle

Verwenden Sie zum Erstellen einer Tabelle, ein Befehls Tabelle erstellen können. Ein Tabelle erstellen Befehl weist die folgende Syntax:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

Nur erforderlich Elemente eines Befehls Tabelle erstellen sind die Tabelle erstellen Befehl selbst und den Namen der Tabelle, aber in der Regel werden soll einige Felder oder andere Aspekte der Tabelle definieren. Betrachten Sie diese einfache Beispiel aus.

Nehmen Sie an, dass Sie das Erstellen einer Tabelle zum Speichern der Name, Jahr und den Preis von verwendeten Autos, die Sie, kaufen erwägen möchten. Sie möchten können bis zu 30 Zeichen für den Namen und 4 Zeichen für das Jahr. Wenn eine Datendefinitionsabfrage zum Erstellen einer Tabelle verwenden möchten, führen Sie folgende Schritte aus:

Hinweis: Möglicherweise müssen Sie zuerst den Inhalt der Datenbank in Reihenfolge für eine Datendefinitionsabfrage ausführen aktivieren:

  • Klicken Sie auf der Statusleiste auf Inhalt aktivieren.

Erstellen einer Tabelle

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    Erstellen Sie die Tabelle Autos (Name TEXT(30), Jahr TEXT(4), Preis, Währung)

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Ändern einer Tabelle

Um eine Tabelle zu ändern, verwenden Sie einen ALTER TABLE-Befehl. ALTER TABLE-Befehl können Sie hinzufügen, ändern oder Löschen von Spalten (entfernen) oder Einschränkungen. ALTER TABLE-Befehl weist die folgende Syntax auf:

ALTER TABLE table_name predicate

wobei Prädikat eine der folgenden sein kann:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Nehmen Sie an, dass Sie ein 10 Zeichen bestehende Textfeld zum Speichern von Informationen über die Bedingung für jedes Auto hinzufügen möchten. Sie können die folgenden Aktionen ausführen:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    ALTER Tabelle Autos hinzufügen Spalte Bedingung TEXT(10)

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Seitenanfang

Erstellen eines Indexes

Um einen Index für eine vorhandene Tabelle erstellen möchten, verwenden Sie einen Befehl INDEX erstellen. Ein INDEX erstellen Befehl weist die folgende Syntax:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Die einzige erforderliche Elemente sind CREATE INDEX-Befehl, den Namen des Indexes, das Argument auf, den Namen der Tabelle, die die Felder enthält, die Sie indizieren möchten, und die Liste der Felder, die in den Index aufgenommen werden.

  • Indizierte Feld in absteigender Reihenfolge sortieren, DESC Argument Ursachen verwendete Werte für den indizierten Feldern oder, Suchen der Index in absteigender Reihenfolge erstellt werden, die nützlich, wenn Sie häufig Abfragen, die ausgeführt werden können. Standardmäßig wird ein Index erstellt, in aufsteigender Reihenfolge.

  • Das Argument mit PRIMÄREM stellt das oder die indizierte Felder als die Primärschlüssel der Tabelle her.

  • Das Argument mit verbieten NULL bewirkt, dass den Index festlegen, dass ein Wert für das Feld indizierten eingegeben werden – d. h., null-Werte sind nicht zulässig.

Angenommen Sie, Sie haben eine Tabelle mit dem Namen Autos mit Felder, die zum Speichern der Name, Jahr, Preis und Bedingung der verwendeten Autos, die Sie, kaufen erwägen. Nehmen Sie auch an, dass die Tabelle groß geworden ist und Sie das Jahresfeld häufig in Abfragen umfassen. Sie können einen Index für das Feld "Jahr" können Sie Ihre Abfragen Ergebnisse schneller zurückgegeben, mit dem folgenden Verfahren zu erstellen:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    Erstellen von INDEX YearIndex auf Autos (Jahr)

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Seitenanfang

Erstellen einer Einschränkung oder einer Beziehung

Eine Einschränkung stellt eine logische Bedingung auf, die ein Feld oder eine Kombination aus Feldern erfüllt werden muss, wenn Werte eingefügt werden. Beispielsweise verhindert eine eindeutige Einschränkung das eingeschränkte Feld akzeptiert einen Wert, der einen vorhandenen Wert für das Feld duplizieren möchten.

Eine Beziehung ist eine Art der Einschränkung auswählen, die bezieht sich auf die Werte eines Felds oder Kombination von Feldern in einer anderen Tabelle, um festzustellen, ob ein Wert im Feld eingeschränkten oder Kombination von Feldern eingefügt werden kann. Verwenden Sie keine spezielle Schlüsselwort, um darauf hinzuweisen, dass eine Einschränkung einer Beziehung ist.

Um eine Einschränkung zu erstellen, verwenden Sie eine Einschränkungsklausel in einer Tabelle erstellen oder ALTER TABLE-Befehl aus. Es gibt zwei Arten von Einschränkungsklauseln: eine zum Erstellen einer Einschränkung für ein einzelnes Feld und einen anderen zum Erstellen einer Einschränkung für mehrere Felder.

Einzelnes Feld Einschränkungen

Eine einzelnes Feld Einschränkungsklausel folgt unmittelbar auf die Definition des Felds, dass es schränkt und weist die folgende Syntax auf:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Angenommen Sie, Sie haben eine Tabelle mit dem Namen Autos mit Felder, die zum Speichern der Name, Jahr, Preis und Bedingung der verwendeten Autos, die Sie, kaufen erwägen. Nehmen Sie auch an, dass Sie häufig vergessen, die einen Wert für die Bedingung des Autos eingeben und Sie immer diese Informationen aufzeichnen möchten. Sie können eine Einschränkung für das Feld Bedingung erstellen, die verhindert, dass Sie das Feld leer ist, verlassen, mit dem folgenden Verfahren:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    ALTER Tabelle Autos ALTER Spalte Bedingung TEXT Einschränkung ConditionRequired nicht NULL

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Nehmen Sie jetzt an, dass nach einer Weile, beachten Sie, dass es gibt viele ähnliche Werte im Feld Bedingung identisch sein sollte. Angenommen, einige Autos Bedingungswert beeinträchtigt haben und andere FehlerhafteWert haben.

Hinweis: Wenn Sie zusammen mit den restlichen Verfahren folgen möchten, fügen Sie einige gefälschten Daten zur Tabelle Autos, die Sie in den vorherigen Schritten erstellt haben.

Nachdem Sie die Werte bereinigen, damit sie weitere konsistent sind, können Sie durch erstellen eine Tabelle mit dem Namen CarCondition, mit einem Feld mit dem Namen Bedingung, die alle Werte enthält, die Sie für die Bedingung von Autos verwenden möchten:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    Tabelle CarCondition (Bedingung TEXT(10)) erstellen

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

  6. Erstellen Sie einen Primärschlüssel für die Tabelle mithilfe einer ALTER TABLE-Anweisung ein:

    Ändern der Tabelle CarCondition ALTER Spalte Bedingung TEXT Einschränkung CarConditionPK PRIMÄRSCHLÜSSEL

  7. Um die Werte aus dem Feld Bedingung der Tabelle Autos in die neue Tabelle CarCondition einzufügen, geben Sie die folgende SQL-Anweisung in die Objektregisterkarte SQL-Ansicht:

    INSERT INTO CarCondition SELECT DISTINCT Bedingung von Autos;

    Hinweis: In diesem Schritt die SQL-Anweisung ist eine Anfügeabfrage. Im Gegensatz zu einer Datendefinitionsabfrage eine Anfügeabfrage mit einem Semikolon beendet werden.

  8. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Erstellen einer Beziehung mithilfe einer Einschränkung

Damit müssen sich, dass alle neuer Wert in das Feld Bedingung der Tabelle Autos eingefügt einen Wert des Felds in der Tabelle CarCondition Bedingung übereinstimmt, können Sie dann eine Beziehung zwischen CarCondition und Autos auf das Feld mit der Bedingung, mithilfe der folgenden erstellen Vorgehensweise:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    ALTER Tabelle Autos ALTER Spalte Bedingung-TEXT-Einschränkung FKeyCondition-Verweise CarCondition (Bedingung)

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Zusammengesetzter Einschränkungen

Eine zusammengesetzter Einschränkungsklausel kann nur außerhalb einer Felddefinitionsklausel verwendet werden, und weist die folgende Syntax auf:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Erwägen Sie ein weiteres Beispiel, das die Autos Tabelle ein. Nehmen Sie an, um sicherzustellen, dass keine zwei Datensätze in der Tabelle Autos mit demselben Satz von Werten für Name, Jahr, Bedingung und Preis haben soll. Sie können eine eindeutige Einschränkung erstellen, die diese Felder, gilt, indem Sie wie folgt vorgehen:

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Abfrageentwurf.

  2. Schließen Sie das Dialogfeld Tabelle anzeigen.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Datendefinitionsabfrage.

    Im Entwurfsbereich ist ausgeblendet, und die Objektregisterkarte SQL-Ansicht angezeigt wird.

  4. Geben Sie die folgende SQL-Anweisung ein:

    ALTER Tabelle Autos hinzufügen Einschränkung NoDupes eindeutige (Name, Jahr, Bedingung, Preis)

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Seitenanfang

Ihre Office-Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×