SQL Eğitimi

SQL ANA SAYFA SQL'e Giriş SQL Sözdizimi SQL Seçimi SQL Seç Farklı SQL Nerede SQL Ve, Veya, Değil SQL Sıralaması İçine SQL Ekle SQL Boş Değerler SQL Güncellemesi SQL Sil SQL Üst Seç SQL Min ve Maks SQL Sayısı, Ortalama, Toplam SQL Beğeni SQL Joker Karakterleri SQL Girişi SQL Arası SQL Takma Adları SQL Birleşimleri SQL İç Birleştirme SQL Sol Birleştirme SQL Sağ Birleştirme SQL Tam Birleştirme SQL Kendi Kendine Katılma SQL Birliği SQL Grubuna Göre SQL Sahip Olmak SQL Var SQL Herhangi Bir, Tümü SQL Seçimi Seçime SQL Ekle SQL Örneği SQL Boş Fonksiyonlar SQL Saklı Yordamlar SQL Yorumları SQL Operatörleri

SQL Veritabanı

SQL Veritabanı Oluştur SQL Bırak DB'si SQL Yedekleme Veritabanı SQL Oluşturma Tablosu SQL Bırakma Tablosu SQL Değiştirme Tablosu SQL Kısıtlamaları SQL Boş Değil SQL Benzersiz SQL Birincil Anahtarı SQL Yabancı Anahtarı SQL Kontrolü SQL Varsayılanı SQL Dizini SQL Otomatik Artış SQL Tarihleri SQL Görünümleri SQL Enjeksiyonu SQL Barındırma SQL Veri Türleri

SQL Referansları

SQL Anahtar Kelimeleri MySQL İşlevleri SQL Sunucu İşlevleri MS Erişim Fonksiyonları SQL Hızlı Başvuru

SQL Örnekleri

SQL Örnekleri SQL Testi SQL Alıştırmaları SQL Sertifikası

SQL YABANCI ANAHTAR Kısıtlaması


SQL YABANCI ANAHTAR Kısıtlaması

FOREIGN KEYKısıtlama, tablolar arasındaki bağlantıları yok edecek eylemleri önlemek için kullanılır .

A FOREIGN KEY, bir tablodaki, başka bir tablodakine atıfta bulunan bir alandır (veya alanlar topluluğudur) PRIMARY KEY.

Yabancı anahtara sahip tabloya alt tablo, birincil anahtara sahip tabloya başvurulan veya ana tablo denir.

Aşağıdaki iki tabloya bakın:

Kişiler Tablosu

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Sipariş Tablosu

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

"Siparişler" tablosundaki "PersonID" sütununun "Persons" tablosundaki "PersonID" sütununu gösterdiğine dikkat edin.

"Kişiler" tablosundaki "PersonID" sütunu, "Kişiler" tablosundaki sütundur PRIMARY KEY.

"Siparişler" tablosundaki "PersonID" sütunu, "Siparişler" tablosundaki bir sütundur FOREIGN KEY.

Kısıtlama, üst tabloda bulunan FOREIGN KEYdeğerlerden biri olması gerektiğinden, yabancı anahtar sütununa geçersiz verilerin eklenmesini engeller.



CREATE TABLOSUNDA SQL YABANCI ANAHTAR

Aşağıdaki SQL FOREIGN KEY, "Siparişler" tablosu oluşturulduğunda "PersonID" sütununda bir a oluşturur:

MySQL:

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

SQL Sunucusu / Oracle / MS Erişimi:

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

Bir FOREIGN KEYkısıtlamanın adlandırılmasına izin vermek ve birden çok sütunda bir kısıtlama tanımlamak FOREIGN KEYiçin aşağıdaki SQL sözdizimini kullanın:

MySQL / SQL Sunucusu / Oracle / MS Erişimi:

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)
);

ALTER TABLOSUNDA SQL YABANCI ANAHTAR

FOREIGN KEY"Siparişler" tablosu zaten oluşturulduğunda "PersonID" sütununda bir kısıtlama oluşturmak için aşağıdaki SQL'i kullanın:

MySQL / SQL Sunucusu / Oracle / MS Erişimi:

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

Bir FOREIGN KEYkısıtlamanın adlandırılmasına izin vermek ve birden çok sütunda bir kısıtlama tanımlamak FOREIGN KEYiçin aşağıdaki SQL sözdizimini kullanın:

MySQL / SQL Sunucusu / Oracle / MS Erişimi:

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

BİR YABANCI ANAHTAR Kısıtlaması DÜŞÜN

Bir FOREIGN KEYkısıtlamayı kaldırmak için aşağıdaki SQL'i kullanın:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Sunucusu / Oracle / MS Erişimi:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;