Esercitazione SQL

SQL HOME Introduzione SQL Sintassi SQL Seleziona SQL SQL Seleziona distinto SQL dove SQL e, o, no Ordina SQL per Inserisci SQL in Valori nulli SQL Aggiornamento SQL Elimina SQL SQL Seleziona in alto SQL Min e Max Conteggio SQL, media, somma Mi piace SQL Caratteri jolly SQL SQL In SQL tra Alias ​​SQL Join SQL Join interno SQL Join sinistro SQL SQL Right Join SQL Full Join SQL Self Join Unione SQL Raggruppamento SQL per SQL Avere SQL esiste SQL Qualsiasi, Tutti SQL Seleziona in Inserisci SQL in Seleziona Caso SQL Funzioni SQL Null Stored procedure SQL Commenti SQL Operatori SQL

Database SQL

SQL Crea DB SQL Drop DB DB di backup SQL SQL Crea tabella Tabella di rilascio SQL SQL Alter tabella Vincoli SQL SQL non nullo SQL unico Chiave primaria SQL Chiave esterna SQL Controllo SQL SQL predefinito Indice SQL Incremento automatico SQL Date SQL Viste SQL SQL Injection Hosting SQL Tipi di dati SQL

Riferimenti SQL

Parole chiave SQL Funzioni MySQL Funzioni di SQL Server Funzioni di accesso MS Riferimento rapido SQL

Esempi SQL

Esempi SQL Quiz SQL Esercizi SQL Certificato SQL

Parola chiave SQL FOREIGN KEY

❮ Riferimento alle parole chiave SQL


CHIAVE STRANIERA

Il FOREIGN KEYvincolo è una chiave utilizzata per collegare tra loro due tabelle.

Una CHIAVE ESTERA è un campo (o insieme di campi) in una tabella che fa riferimento alla CHIAVE PRIMARIA in un'altra tabella.


CHIAVE ESTERA SQL su CREATE TABLE

Il seguente SQL crea una CHIAVE ESTERA nella colonna "PersonID" quando viene creata la tabella "Ordini":

MySQL:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

SQL Server/Oracle/Accesso MS:

CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    OrderNumber int NOT NULL,
    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);

Per consentire la denominazione di un vincolo FOREIGN KEY e per definire un vincolo FOREIGN KEY su più colonne, utilizzare la seguente sintassi SQL:

MySQL/SQL Server/Oracle/MS Access:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

CHIAVE ESTERA SQL su ALTER TABLE

Per creare un vincolo FOREIGN KEY sulla colonna "PersonID" quando la tabella "Ordini" è già stata creata, utilizzare il seguente SQL:

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Per consentire la denominazione di un vincolo FOREIGN KEY e per definire un vincolo FOREIGN KEY su più colonne, utilizzare la seguente sintassi SQL:

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

RILASCIA un vincolo CHIAVE ESTERA

Per eliminare un vincolo FOREIGN KEY, utilizzare il seguente SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server/Oracle/Accesso MS:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

❮ Riferimento alle parole chiave SQL