Database
 sql >> Baza danych >  >> RDS >> Database

Jakie są ograniczenia SQL i ich różne typy?

Ponieważ w bazach danych znajdują się duże ilości danych, bardzo ważne jest dla nas wszystkich zwiększenie dokładności i wiarygodności danych znajdujących się w bazie danych. Cóż, ograniczenia SQL służą do utrzymania tego samego. Istnieją różne rodzaje ograniczeń, których można użyć. W tym artykule omówię te ograniczenia z przykładami.

W tym artykule zostaną omówione następujące tematy:

  1. Co to są ograniczenia?
  2. Ograniczenia dostępne w SQL:
      • Ograniczenie NIEZEROWE
      • UNIKALNE wiązanie
      • SPRAWDŹ wiązanie
      • Domyślne ograniczenie
      • Ograniczenie indeksu

Co to są ograniczenia SQL?

Ograniczenia SQL służą do określania reguł dla danych w tabeli. Służą one do ograniczania rodzaju danych, które muszą być przechowywane w bazie danych, i mają na celu zwiększenie dokładności i wiarygodności danych przechowywanych w bazie danych.

Tak więc ograniczenia zapewniają, że nie ma naruszenia w zakresie transakcji danych, ale nie znaleziono żadnego naruszenia; akcja zostaje zakończona.

Istnieją dwa rodzaje ograniczeń, które można zastosować:

  1. Ograniczenia na poziomie kolumny – Te ograniczenia dotyczą pojedynczej kolumny
  2. Ograniczenia na poziomie tabeli – Te ograniczenia dotyczą całej tabeli

Idąc dalej w tym artykule, pozwól nam zrozumieć różne rodzaje ograniczeń. Ponadto rozważę poniższą tabelę, aby pomóc ci lepiej zrozumieć.

Dostępne różne ograniczenia SQL:

Ograniczenie NIEZEROWE

Ograniczenie NOT NULL zapewnia, że ​​kolumna nie może mieć wartości NULL. Możesz użyć ograniczenia NOT NULL podczas tworzenia bazy danych tabeli lub podczas jej modyfikowania.

Przykład

NOT NULL Ograniczenie dla CREATE TABLE

Napisz zapytanie, aby utworzyć powyższą tabelę Students, w której StudentID i StudentName nie mogą mieć wartości NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

NOT NULL Ograniczenie w ALTER TABLE

Napisz zapytanie, aby zmienić powyższą tabelę Studenci, w której należy dodać nową kolumnę DOB i nie powinna ona mieć żadnych wartości NULL.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Przechodząc dalej w tym artykule na temat ograniczeń SQL, pozwól nam zrozumieć, jak używać ograniczenia UNIQUE.

UNIKALNE wiązanie

Ograniczenie UNIQUE służy do upewnienia się, że wszystkie wartości w kolumnie są niepowtarzalne. Ograniczenia UNIQUE można użyć w wielu kolumnach lub w jednej kolumnie. Poza tym możesz iść dalej i użyć ograniczenia UNIQUE do modyfikacji istniejących tabel.

Uwaga:

  1. Podczas tworzenia tabel ograniczenie PRIMARY KEY automatycznie ma ograniczenie UNIQUE, aby zagwarantować niepowtarzalność kolumny.
  2. Tabela może mieć wiele ograniczeń UNIQUE, ale może mieć jedno ograniczenie klucza podstawowego.

Przykład:

UNIKALNE Ograniczenie w UTWÓRZ TABELĘ

Napisz zapytanie, aby utworzyć tabelę Studenci, z kolumnami StudentID, StudentName, Age i City. Tutaj StudentID musi być unikalny dla każdego rekordu.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Nazwij UNIKALNE ograniczenie w wielu kolumnach

Aby nazwać unikalne ograniczenie i zdefiniować je dla wielu kolumn, możesz skorzystać z następującego przykładu:

Napisz zapytanie, aby utworzyć tabelę Studenci, z kolumnami StudentID, StudentName, Age i City. Tutaj StudentID i StudentName muszą być unikalne dla każdego rekordu.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Tutaj Stu_Example to nazwa nadana unikatowemu ograniczeniu zastosowanemu do StudentID i StudentName.

UNIKALNE ograniczenie w ALTER TABLE

Napisz zapytanie, aby zmienić tabelę Studenci, w której do kolumny StudentID należy dodać ograniczenie UNIQUE.

ALTER TABLE Students ADD UNIQUE (StudentID);

Podobnie, jeśli chcesz użyć ograniczenia UNIQUE na wielu kolumnach i nadać mu nazwę, możesz napisać zapytanie w następujący sposób:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Upuść UNIKALNE ograniczenie

Aby usunąć ograniczenie określone w kolumnie, możesz użyć konwencji nazewnictwa, o której mogłeś wspomnieć podczas dodawania ograniczenia.

Na przykład, jeśli musimy napisać zapytanie usuwające ograniczenie UNIQUE, które stworzyliśmy powyżej, możesz napisać zapytanie w następujący sposób:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

W dalszej części tego artykułu na temat ograniczeń SQL wyjaśnimy, jak używać ograniczenia CHECK.

SPRAWDŹ wiązanie

Ograniczenie CHECK zapewnia, że ​​wszystkie wartości w kolumnie spełniają określony warunek.

Przykład:

SPRAWDŹ Ograniczenie w UTWÓRZ TABELĘ

Napisz zapytanie, aby utworzyć tabelę Studenci, z kolumnami StudentID, StudentName, Age i City. Tutaj miastem musi być Bombaj.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

SPRAWDŹ ograniczenie w wielu kolumnach

Aby użyć ograniczenia sprawdzania na wielu kolumnach, możesz napisać zapytanie jak poniżej:

Napisz zapytanie, aby utworzyć tabelę Studenci, z kolumnami StudentID, StudentName, Age i City. Tutaj miastem musi być Bombaj, a uczniowie muszą mieć> 19 lat.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

Podobnie możesz użyć ograniczenia CHECK z poleceniem ALTER TABLE. Patrz poniżej.

SPRAWDŹ Ograniczenie w ALTER TABLE

Napisz zapytanie, aby zmienić tabelę Studenci, w której ograniczenie CHECK musi zostać dodane do kolumny Miasto. Tutaj miastem musi być Bombaj.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

Podobnie, jeśli chcesz użyć ograniczenia CHECK, nadając mu nazwę, możesz napisać zapytanie w następujący sposób:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Upuść ograniczenie CHECK

Aby usunąć ograniczenie określone w kolumnie, możesz użyć konwencji nazewnictwa, o której mogłeś wspomnieć podczas dodawania ograniczenia.

Na przykład, jeśli musimy napisać zapytanie, aby usunąć ograniczenie CHECK, które stworzyliśmy powyżej, możesz napisać zapytanie w następujący sposób:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Kontynuując ten artykuł na temat ograniczeń SQL, pozwól nam zrozumieć, jak używać ograniczenia DEFAULT.

Ograniczenie DOMYŚLNE

Ograniczenie DEFAULT jest używane do wymienienia zestawu wartości domyślnych dla kolumny, gdy nie określono żadnej wartości. Podobnie jak w przypadku innych ograniczeń, możemy użyć tego ograniczenia w poleceniu CREATE i ALTER tabeli.

Przykład

Napisz zapytanie, aby utworzyć tabelę Studenci, z kolumnami StudentID, StudentName, Age i City. Również wtedy, gdy w kolumnie Miasto nie ma żadnej wartości, automatycznie musi zostać uwzględnione Delhi.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

DEFAULT Ograniczenie na ALTER TABLE

Aby użyć ograniczenia DEFAULT z poleceniem ALTER TABLE, możesz napisać zapytanie w następujący sposób:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Upuść DOMYŚLNE ograniczenie

Aby usunąć ograniczenie DEFAULT, możesz użyć polecenia ALTER TABLE w następujący sposób:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

W dalszej części tego artykułu na temat ograniczeń SQL wyjaśnimy, jak używać ograniczenia INDEX.

Ograniczenie indeksu

Ograniczenie INDEX służy do tworzenia indeksów w tabeli. Za pomocą tych indeksów można bardzo szybko tworzyć i pobierać dane z bazy danych.

Składnia

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Przykład

Napisz zapytanie, aby utworzyć indeks o nazwie Stu_index w tabeli Studenci, która przechowuje Nazwę Studenta.

CREATE INDEX Stu_index ON Students (StudentName);

Podobnie, aby usunąć indeks z tabeli, musisz użyć polecenia DROP z nazwą indeksu.

DROP INDEX Students.Stu_index;

Poza powyższymi ograniczeniami, za ograniczenia uważa się również KLUCZ PODSTAWOWY i KLUCZ OBCEJ. Ograniczenie PRIMARY KEY służy do definiowania ograniczeń dotyczących tego, jak określona kolumna jednoznacznie identyfikuje każdą krotkę. Ograniczenie FOREIGN KEY służy do powiązania dwóch tabel na podstawie relacji.

Na tym kończymy ten artykuł. Mam nadzieję, że zrozumiałeś, jak korzystać z różnych ograniczeń obecnych w bazie danych. Jeśli chcesz dowiedzieć się więcej o MySQL i poznać tę relacyjną bazę danych typu open source, zapoznaj się z naszym Szkoleniem certyfikacyjnym MySQL DBA który jest dostarczany z prowadzonym przez instruktora szkoleniem na żywo i doświadczeniem w rzeczywistych projektach. To szkolenie pomoże ci dogłębnie zrozumieć MySQL i pomoże ci osiągnąć mistrzostwo w tym temacie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu na temat ograniczeń SQL, a ja odezwę się do Ciebie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Do czego służy instrukcja SQL GROUP BY?

  2. Jak usunąć kolumnę w SQL?

  3. Jak wyeliminować zduplikowane wiersze w SQL?

  4. Trendy w zakresie sprzętu i infrastruktury baz danych

  5. Zaczekaj statystyki i magazyn zapytań