Skapa eller redigera tabeller eller index genom att använda en datadefinitionsfråga

Obs!: Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

Du kan skapa och ändra tabeller, begränsningar, index och relationer i Access genom att skriva data definition frågor i SQL-vyn. I den här artikeln lär du dig data definition frågor och hur du kan använda dem för att skapa tabeller, villkor, index och relationer. I den här artikeln kan också hjälpa dig att avgöra när du ska använda en datadefinitionsfråga.

I den här artikeln

Översikt

Skapa eller ändra en tabell

Skapa ett index

Skapa ett villkor eller en relation

Översikt

Till skillnad från andra Access-frågor hämta en datadefinitionsfråga inte data. En datadefinitionsfråga används i stället (Data Definition Language) för att skapa, ändra eller ta bort databasobjekt.

Obs!: Data Definition Language (DDL) är en del av SQL Structured Query Language ().

Datadefinitionsfråga frågor kan vara mycket praktiskt. Du kan regelbundet ta bort och återskapa delar av din databasschema genom att köra några frågor. Överväg att använda en datadefinitionsfråga om du är bekant med SQL-uttryck och du tänker ta bort och återskapa viss tabeller, villkor, index eller relationer.

Varning!: Använda datadefinitionsfråga frågor för att ändra databasobjekt kan vara riskabel, eftersom åtgärderna inte tillsammans med dialogrutorna för bekräftelse. Om du gör ett misstag kan du förlora data eller oavsiktligt ändra design på en tabell. Var försiktig när du använder en datadefinitionsfråga för att ändra objekt i databasen. Om du inte är ansvarig för hantering av den databas som du använder bör du kontakta administratören för databasen innan du kör en datadefinitionsfråga.

Viktigt!: Göra en säkerhetskopia av tabeller är innan du kör en datadefinitionsfråga.

DDL nyckelord

Nyckelord

Använd

CREATE

Skapa ett index eller en tabell som inte redan finns.

ALTER

Ändra en befintlig tabell eller kolumn.

DROP

Ta bort en befintlig tabell, en kolumn eller ett villkor.

ADD

Lägga till en kolumn eller ett villkor i en tabell.

COLUMN

Använda med Lägg till, ändra, eller släppa

CONSTRAINT

Använda med Lägg till, ändra, eller släppa

INDEX

Använd med skapa

TABLE

Använda med kommandot ALTER, skapa, eller släppa

Överst på sidan

Skapa eller ändra en tabell

Om du vill skapa en tabell klickar använda du kommandot CREATE TABLE. Ett CREATE TABLE-kommando har följande syntax:

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

Endast obligatoriskt element i ett CREATE TABLE-kommando är kommandot CREATE TABLE och namnet på tabellen, men vanligtvis ska du definiera vissa fält eller andra aspekter av tabellen. Du kan det här enkla exemplet.

Anta att du vill skapa en tabell för att lagra namn, år och till priset av används bilar som du planerar att köpa. Du vill tillåta upp till 30 tecken för namnet och 4 tecken för hela året. Om du vill skapa tabellen med hjälp av en datadefinitionsfråga, gör du följande:

Obs!: Du måste kanske först aktivera innehållet i databasen för en datadefinitionsfråga ska köras:

  • Klicka på Aktivera innehåll i meddelandefältet.

Skapa en tabell

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Skapa tabell bilar (namn TEXT(30), år TEXT(4), priset valuta)

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Ändra en tabell

Om du vill ändra en tabell kan använda du ett ALTER TABLE-kommando. Du kan använda ett ALTER TABLE-kommando för att lägga till, ändra eller släppa (ta bort) kolumner eller begränsningar. Ett ALTER TABLE-kommando har följande syntax:

ALTER TABLE table_name predicate

där predikat kan vara något av följande:

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

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Anta att du vill lägga till ett textfält med 10 tecken om du vill lagra information om varje bil villkor. Du kan göra följande:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Kommandot ALTER tabell bilar Lägg till kolumn villkor TEXT(10)

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Överst på sidan

Skapa ett index

Om du vill skapa ett index för en befintlig tabell, använda kommandot CREATE INDEX. Skapa INDEX-kommandot har följande syntax:

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

Endast obligatoriska element är kommandot Skapa INDEX, namnet på indexet, argumentet vidare, namnet på den tabell som innehåller de fält som du vill ska indexeras och listan med fält som ska ingå i indexet.

  • DESC argumentet orsaker indexet ska skapas i fallande ordning, vilket kan vara användbart om du ofta kör frågor som leta efter högsta värdena för indexerade fält eller sortera indexerade fält i fallande ordning. Som standard skapas ett index i stigande ordning.

  • Argumentet med primära upprättar indexerade fältet eller fälten som primärnyckel i tabellen.

  • Argumentet med DISALLOW NULL orsakar index kräver att ett värde anges för fältet indexerade – det vill säga null-värden är inte tillåtna.

Anta att du har en tabell med namnet bilar med fält som lagrar namn, år, priset och villkor för att använda bilar som du planerar att köpa. Anta också att tabellen har blivit stora och att du ofta inkluderar fältet år i frågor. Du kan skapa ett index för fältet år för att dina frågor som returnerar resultat snabbare med hjälp av följande procedur:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Skapa INDEX YearIndex vidare bilar (år)

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Överst på sidan

Skapa ett villkor eller en relation

Villkoret upprättar en logiska villkor som ett fält eller en kombination av fälten måste uppfylla när värden ska infogas. Till exempel förhindrar en unik begränsning att fältet begränsade att acceptera ett värde som skulle Duplicera ett befintligt värde för fältet.

En relation är en typ av begränsning som refererar till värden i ett fält eller en kombination av fält i en annan tabell för att avgöra om ett värde kan infogas i det begränsade fält eller en kombination av fält. Du använder inte en särskild nyckelord som indikerar att ett villkor är en relation.

Om du vill skapa ett villkor klickar använder du en CONSTRAINT-satser i ett CREATE TABLE eller ALTER TABLE-kommando. Det finns två typer av CONSTRAINT-satser: en för att skapa ett villkor för ett visst fält och en annan för att skapa en begränsning av flera fält.

Villkor för ett fält

Ett enstaka fält CONSTRAINT-satser efter omedelbart definitionen av fältet begränsar, och har följande syntax:

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

Anta att du har en tabell med namnet bilar med fält som lagrar namn, år, priset och villkor för att använda bilar som du planerar att köpa. Anta också att du ofta glömmer att ange ett värde för den bil villkor och att du alltid vill spela in den här informationen. Du kan skapa en begränsning på fältet villkor som hindrar dig från att lämna fältet tomt, genom att använda följande procedur:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Kommandot ALTER tabell bilar ALTER kolumn villkor TEXT villkor ConditionRequired inte NULL

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Anta nu att, efter ett tag du märker att det finns många liknande värden i fältet villkor som ska vara samma. Till exempel en del av bilarna har villkorsvärdet dålig och andra har ett värde av felaktiga.

Obs!: Lägga till några falska data i tabellen bilar som du skapade i föregående steg om du vill följa tillsammans med återstående procedurer.

När du rensar värdena så att de är mer konsekvent, kan du skapa en tabell med namnet CarCondition, med ett fält med namnet villkor, som innehåller de värden som du vill använda för villkoret för bilar:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Skapa tabell CarCondition (villkor TEXT(10))

  5. Klicka på Kör i gruppen Resultat på fliken Design.

  6. Skapa en primärnyckel för tabellen med ALTER TABLE-uttryck:

    Ändra tabell CarCondition ALTER kolumn villkor TEXT villkor CarConditionPK PRIMÄRNYCKEL

  7. Om du vill infoga värdena från fältet villkor i tabellen bilar i den nya tabellen CarCondition, skriver du följande SQL i fliken SQL visa objekt:

    Infoga till CarCondition SELECT DISTINCT villkor från bilar;

    Obs!: SQL-uttrycket i det här steget är en lägg till fråga. Till skillnad från en datadefinitionsfråga slutar tilläggsfrågor med ett semikolon.

  8. Klicka på Kör i gruppen Resultat på fliken Design.

Skapa en relation med hjälp av ett villkor

För att kräva att alla nya värde som infogas i fältet villkor i tabellen bilar matchar ett värde i fältet villkor i tabellen CarCondition klickar kan du sedan skapa en relation mellan CarCondition och bilar på fält med namnet villkor, med hjälp av följande proceduren:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Kommandot ALTER tabell bilar ALTER kolumn villkor TEXT villkor FKeyCondition referenser CarCondition (villkor)

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Villkor för flera fält

En CONSTRAINT-satser för flera fält kan användas utanför en fältet definition-sats och har följande syntax:

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}]}

Överväg att ett till exempel som använder tabellen bilar. Anta att du vill kontrollera att två poster i tabellen bilar har samma uppsättning värden för namn, år, villkor och pris. Du kan skapa ett unikt villkor som gäller för dessa fält genom att använda följande procedur:

  1. Klicka på Frågedesign på fliken Skapa i gruppen makron och kod.

  2. Stäng dialogrutan Visa tabell.

  3. Klicka på Data Definition på fliken Design i gruppen Frågetyp.

    Rutnätet är dold och fliken SQL visa objekt visas.

  4. Skriv följande SQL-uttryck:

    Ändra tabell bilar lägga till villkor NoDupes UNIKA (namn, år, villkor, pris)

  5. Klicka på Kör i gruppen Resultat på fliken Design.

Överst på sidan

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×