MySQL MariaDB

MySQL Benzersiz Kısıtlamalarını Kullanma

MySQL Benzersiz Kısıtlamalarını Kullanma
MySQL CONSTRAINT, satırlara girilebilecek verileri tutabilecek veya sınırlayabilecek alanlardaki değerlere izin veren veya kısıtlayan kuralları tanımlamak için atılıyor. Kısıtlamalar getirmenin amacı, bir veritabanının güvenilirliğini korumaktır. Bunlardan biri UNIQUE kısıtlamasıdır.

UNIQUE kısıtlaması, bir alandaki hemen hemen tüm öğelerin birbirinden farklı olmasını garanti eder. Bir alan veya alan grubu için, BENZERSİZ ve BİRİNCİL ANAHTAR sınırları karşılıklı olarak bir bireysellik güvencesine sahiptir. Bununla birlikte, her tablo için bir PRIMARY KEY limiti olmasına rağmen, her tabloda birkaç BENZERSİZ kısıtlamamız olabilir. Birkaç örnek deneyerek öğrenelim.

Workbench ile Benzersiz Kısıtlama:

Öncelikle MySQL Workbench 8 kullanırken tabloya Unique kısıtlamaları eklemeyi öğrenmeliyiz.0. Yeni kurulan MySQL Workbench 8'inizi açın.0 ve veritabanına bağlayın.

Sorgu alanına 'Kişi' tablosu oluşturmak için aşağıdaki komutu yazmanız gerekmektedir. Bu tablo, bir birincil anahtara sahip 4 sütuna sahiptir. Benzersiz bir sütun belirtmeliyiz. Gördüğünüz gibi, 'Id' sütununu 'UNIQUE' sütunu olarak temizledik:

>> TABLO OLUŞTUR Kişi (ID int PRIMARY KEY NOT NULL, LastName varchar(255) NULL DEĞİL, FirstName varchar(255), Age int, UNIQUE(ID));

Artık “Kişi” tablosu “EŞSİZ” sütunu “Kimlik” ile oluşturulmuştur. Tabloyu “Gezgin” ve “Şemalar” altında, “Tablolar” seçeneğinde listelenirken bulabilirsiniz.

Kayıtları eklerken “Uygula” butonuna bastığınızda aşağıda gösterildiği gibi eklenen kayıtları gözden geçirecektir. 3. ve 4. satırlarda aynı "kimliğe" sahip bir adet yinelenen kaydımız olduğunu görebilirsiniz. Değişiklikleri uygulamak için “Uygula” düğmesine dokunun.

Aşağıdaki resimde, "ID" sütununun kopyaladığı, "13" değeri olan bir hata oluşturuyor.

Kaydı düzelttikten sonra değişiklikleri uyguladığınızda düzgün çalışacaktır.

Komut Satırı Kabuğu aracılığıyla Benzersiz Kısıtlama:

MySQL komut satırı kabuğunda, bir veya birkaç sütuna BENZERSİZ anahtarlar ekleyeceğiz. Aşağıdaki örneklerde her birine bir göz atmak için önce komut satırınızı açın. Komut kabuğunu kullanmak için parolanızı yazın.

Örnek 01: Tek Sütun Üzerinde

Bu sözdiziminde, sütun belirtiminde olduğu gibi, benzersizlik yasasını uygulamak istediğiniz BENZERSİZ terimi kullanıyoruz. Belirli bir sütuna kopyalar oluşturan bir değer eklediğimizde veya değiştirdiğimizde, değişiklik MySQL tarafından reddedilecek ve ayrıca bir istisna verilecektir. Bu Özel limitte bir sütun kısıtlaması olacaktır. Ve bunu bir alanın benzersiz kuralını uygulamak için de kullanabilirsiniz. İşte tek sütunlu UNIQUE anahtarının sözdizimi:

>> TABLO OLUŞTUR tablo_adı( col veri türü UNIQUE, sütun veri türü);

İçinde üç sütun bulunan “veri” veritabanında bir “tedarikçi” tablosu oluşturalım. "Kimlik" sütunu "EŞSİZ" olarak tanımlanır.

>> TABLO verisi OLUŞTUR.tedarikçi( id INT AUTO_INCREMENT NOT NULL UNIQUE, Adı VARCHAR(50) NOT NULL, Alan VARCHAR(50));

Kontrol ettiğinizde, tablonun henüz kaydı olmadığını görebilirsiniz.

>> verilerden * SEÇİN.Tedarikçi;

Kayıtları tabloya ekleyelim. İlk kayıt, aşağıda gösterildiği gibi sorunsuz bir şekilde tabloya eklenecektir.

İkinci kayıt, “ID” sütununda mükerrer değerler olmadığı için tekrar sorunsuz bir şekilde eklenecektir. Öte yandan, “Alan” sütununda ilk sorguda kullandığı değeri alıyor.

Üçüncü kaydı eklerken, ilk ekleme ifadesinde sağladığımız gibi yinelenen “1” değerini sağladık. Aşağıdaki resimde gösterildiği gibi "ID" sütununun yinelenen bir değer aldığına dair bir hata üretecektir.

Tekrar kontrol ederken, tablonun sadece ilk iki insert ifadesinin kaydına sahip olduğunu görebilirsiniz. Üçüncü insert ifadesinden kayıt yokken.

>> verilerden * SEÇİN.Tedarikçi;

Örnek 02: Birden Çok Sütun Üzerinde

Bu formatla, UNIQUE teriminden sonra, parantez içinde virgülle ayrılmış bir dizi sütun uygularız. Col1 ve col2 alanındaki değerlerin bileşimi, benzersizliği belirlemek için MySQL tarafından kullanılır.

>> TABLO OLUŞTUR tablo_adı( sütun1 veri türü, sütun2 veri türü, BENZERSİZ(sütun1, sütun2));

Beş sütunlu “veri” veritabanında “bakan” tablosu oluşturuyoruz. "ID" sütunu "EŞSİZ" ve "PRİMARY" olarak tanımlanır. "CONSTRAINT" anahtar sözcüğü, benzersiz bir anahtar kısıtlamasını "uc_add_sal" olarak adlandırmak için kullanılır. “UNIQUE” anahtar sözcüğü, parantez içinde belirtilen sütunlar üzerinde bir UNIQUE kısıtlaması tanımlamak için kullanılır, e.g., Adres ve “Maaş”. Şimdi üzerlerinde “EŞSİZ” kısıtlamaya sahip toplam üç sütunumuz var.

>> TABLO verisi OLUŞTUR.bakan( Mid INT AUTO_INCREMENT BİRİNCİL ANAHTAR NULL DEĞİL, VARCHAR(50) DEĞİL NULL, Adres VARCHAR(50), İş VARCHAR(50), Maaş VARCHAR(50), CONSTRAINT uc_add_sal UNIQUE (Adres, Maaş));

Masayı kontrol ettiğinizde, masanın şu anda boş olduğunu görebilirsiniz.

>> verilerden * SEÇİN.bakan;

İçine bazı kayıtlar ekleyelim. İlk satır olduğu ve eşleştirilecek satır olmadığı için ilk kayıt tabloya başarıyla eklenecektir.

Aşağıda gösterildiği gibi, herhangi bir sütunda yinelenen değer içermeyen başka bir benzersiz kayıt girin.

Üzerinde “EŞSİZ” kısıtlaması olmayan sütunlar için yinelenen değerleri girdiğimizde etkilenmez. Aşağıdaki sorguya bir göz atın. "Ad" ve "İş" sütunlarında yinelenen bir değere sahip. Bu iki sütun üzerinde tanımlanmış “EŞSİZ” kısıtlaması olmadığı için düzgün çalışıyor.

Öte yandan, yinelenen değeri eklediğimizde, e.g., “13” ve “Rawalpindi”, aşağıda gösterildiği gibi bir hata üretecektir. Bunun nedeni, “13” ve “Rawalpindi”nin daha önce belirtilmiş olmasıdır.

Kontrol ederken, ilk üç sorgu tarafından eklenen tabloda yalnızca üç kaydımız var.

>> verilerden * SEÇİN.bakan;

Sonuç:

MySQL Workbench 8'i kullanırken tekli ve çoklu sütunlarda UNIQUE kısıtlamaları tanımlamanın tüm örneklerini zarif bir şekilde yaptık.0 ve MySQL komut satırı istemci kabuğu. EŞSİZ anahtarlarla ilgili sorunları çözerken umarım sorun yaşamazsınız.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...