Ograniczenia w SQL oznaczają, że stosujemy pewne warunki lub ograniczenia w bazie danych. Oznacza to ponadto, że przed umieszczeniem danych w bazie danych sprawdzamy, czy nie występują pewne warunki. Jeżeli warunek jaki postawiliśmy wobec bazy danych będzie spełniony dla danych, które mają zostać wstawione, to do tabel bazy danych zostaną wstawione tylko te dane.
Ograniczenia w SQL można podzielić na dwa typy:
Ograniczenie na poziomie kolumny służy do stosowania ograniczenia na pojedynczą kolumnę.
Ograniczenie na poziomie tabeli służy do stosowania ograniczenia na wielu kolumnach.
Oto niektóre z rzeczywistych przykładów ograniczeń:
- Każda osoba ma unikalny identyfikator e-mail. Dzieje się tak dlatego, że podczas tworzenia konta e-mail dla dowolnego użytkownika, poczta e-mail udostępniająca usługi takie jak Gmail, Yahoo lub jakakolwiek inna usługa dostarczania poczty e-mail zawsze sprawdza dostępność identyfikatora e-mail, którego użytkownik chce dla siebie. Jeśli inny użytkownik ma już żądany identyfikator e-mail, wówczas identyfikatora tego nie można przypisać innemu użytkownikowi. Oznacza to po prostu, że nie ma dwóch użytkowników, którzy mogą mieć te same identyfikatory e-mail w ramach tej samej usługi e-mail. Zatem tutaj identyfikator e-mail jest ograniczeniem w bazie danych usług e-mailowych.
- Ilekroć ustalamy hasło do dowolnego systemu, istnieją pewne ograniczenia, których należy przestrzegać. Ograniczenia te mogą obejmować:
- W haśle musi znajdować się jedna wielka litera.
- Hasło musi składać się z co najmniej ośmiu znaków.
- Hasło musi zawierać przynajmniej jeden symbol specjalny.
Ograniczenia dostępne w SQL to:
- NIE JEST ZEREM
- UNIKALNY
- GŁÓWNY KLUCZ
- KLUCZ OBCY
- SPRAWDZAĆ
- DOMYŚLNY
- UTWÓRZ INDEKS
Spróbujmy teraz bardziej szczegółowo zrozumieć różne ograniczenia dostępne w SQL za pomocą przykładów. Do zapisywania wszystkich zapytań będziemy używać bazy danych MySQL.
1. NIE NULL
- NULL oznacza pustą, tj. wartość nie jest dostępna.
- Ilekroć kolumna tabeli jest zadeklarowana jako NOT NULL, wówczas wartość tej kolumny nie może być pusta dla żadnego rekordu tabeli.
- W kolumnie musi istnieć wartość, do której zastosowano ograniczenie NOT NULL.
UWAGA: NULL nie oznacza zera. NULL oznacza pustą kolumnę, nawet nie zero.
Składnia stosowania ograniczenia NOT NULL podczas tworzenia tabeli:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
Przykład:
Utwórz tabelę ucznia i podczas tworzenia tabeli zastosuj ograniczenie NOT NULL do jednej z kolumn tabeli.
CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Aby sprawdzić, czy do kolumny tabeli zastosowano ograniczenie inne niż null i czy tabela uczniów została utworzona pomyślnie, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia stosowana do zastosowania ograniczenia NOT NULL w istniejącej kolumnie tabeli:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
Przykład:
Załóżmy, że mamy istniejącego studenta tabeli, bez nałożonych na niego żadnych ograniczeń. Później zdecydowaliśmy się zastosować ograniczenie NOT NULL do jednej z kolumn tabeli. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie inne niż null, wykonamy następujące zapytanie:
mysql> DESC student;
2. WYJĄTKOWY
- Zduplikowane wartości nie są dozwolone w kolumnach, do których zastosowano ograniczenie UNIQUE.
- Kolumna z ograniczeniem unikalności będzie zawsze zawierać unikalną wartość.
- To ograniczenie można zastosować do jednej lub więcej niż jednej kolumny tabeli, co oznacza, że w pojedynczej tabeli może istnieć więcej niż jedno unikalne ograniczenie.
- Korzystając z ograniczenia UNIQUE, możesz także modyfikować już utworzone tabele.
Składnia do zastosowania ograniczenia UNIQUE w pojedynczej kolumnie:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
Przykład:
Utwórz tabelę studencką i zastosuj ograniczenie UNIQUE na jednej z kolumn tabeli podczas jej tworzenia.
mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Aby sprawdzić, czy do kolumny tabeli zastosowano ograniczenie unikalne i czy tabela uczniów została utworzona pomyślnie, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia stosowana do stosowania ograniczenia UNIQUE w więcej niż jednej kolumnie:
zastosowań systemu operacyjnego
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
Przykład:
Utwórz tabelę ucznia i podczas tworzenia tabeli zastosuj ograniczenie UNIQUE do więcej niż jednej kolumny tabeli.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), UNIQUE(StudentID, Student_PhoneNumber));
Aby sprawdzić, czy ograniczenie unikalne zostało zastosowane do więcej niż jednej kolumny tabeli i czy tabela ucznia została utworzona pomyślnie, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia do zastosowania ograniczenia UNIQUE w istniejącej kolumnie tabeli:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Przykład:
Załóżmy, że mamy istniejącego studenta tabeli, bez nałożonych na niego żadnych ograniczeń. Później zdecydowaliśmy się zastosować ograniczenie UNIQUE do jednej z kolumn tabeli. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
Aby sprawdzić, czy do kolumny tabeli zastosowano ograniczenie unikalne i czy tabela uczniów została utworzona pomyślnie, wykonamy następujące zapytanie:
mysql> DESC student;
3. KLUCZ PODSTAWOWY
- Ograniczenie klucza podstawowego jest kombinacją ograniczeń NOT NULL i Unique.
- Ograniczenie NOT NULL i ograniczenie UNIQUE razem tworzą ograniczenie PODSTAWOWE.
- Kolumna, do której zastosowaliśmy ograniczenie podstawowe, zawsze będzie zawierać unikalną wartość i nie będzie dopuszczać wartości null.
Składnia ograniczenia klucza podstawowego podczas tworzenia tabeli:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
Przykład:
Utwórz tabelę uczniów i zastosuj ograniczenie KLUCZ PODSTAWOWY podczas tworzenia tabeli.
mysql> CREATE TABLE student(StudentID INT PRIMARY KEY, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Aby sprawdzić, czy do kolumny tabeli zastosowano ograniczenie klucza podstawowego i czy tabela ucznia została utworzona pomyślnie, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia stosowana do stosowania ograniczenia klucza podstawowego w kolumnie istniejącej tabeli:
drzewo wyszukiwania binarnego]
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Przykład:
Załóżmy, że mamy istniejącego studenta tabeli, bez nałożonych na niego żadnych ograniczeń. Później zdecydowaliśmy się zastosować ograniczenie KLUCZ PODSTAWOWY do kolumny tabeli. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie klucza podstawowego, wykonamy następujące zapytanie:
mysql> DESC student;
4. KLUCZ OBCY
- Klucz obcy służy do zapewnienia integralności referencyjnej.
- Kiedy mamy dwie tabele i jedna tabela czerpie odwołanie z innej tabeli, tj. ta sama kolumna występuje w obu tabelach i ta kolumna pełni rolę klucza podstawowego w jednej tabeli. Ta konkretna kolumna będzie działać jako klucz obcy w innej tabeli.
Składnia stosowana do stosowania ograniczenia klucza obcego podczas tworzenia tabeli:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Przykład:
ascii a w Javie
Utwórz tabelę pracowników i zastosuj ograniczenie KLUCZ OBCY podczas tworzenia tabeli.
Aby utworzyć klucz obcy w dowolnej tabeli, najpierw musimy utworzyć klucz podstawowy w tabeli.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Aby sprawdzić, czy do kolumny tabeli pracowników zastosowano ograniczenie klucza podstawowego, wykonamy następujące zapytanie:
mysql> DESC employee;
Teraz napiszemy zapytanie o zastosowanie klucza obcego w tabeli działów odwołujące się do klucza podstawowego tabeli pracowników, czyli Emp_ID.
mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID));
Aby sprawdzić, czy do kolumny tabeli działów zastosowano ograniczenie klucza obcego, wykonamy następujące zapytanie:
mysql> DESC department;
Składnia stosowania ograniczenia klucza obcego z nazwą ograniczenia:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Przykład:
Utwórz tabelę pracowników i zastosuj ograniczenie KLUCZ OBCY z nazwą ograniczenia podczas tworzenia tabeli.
Aby utworzyć klucz obcy w dowolnej tabeli, najpierw musimy utworzyć klucz podstawowy w tabeli.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie klucza podstawowego, wykonamy następujące zapytanie:
mysql> DESC employee;
Teraz napiszemy zapytanie o zastosowanie klucza obcego z nazwą ograniczenia w tabeli działów odwołującą się do klucza podstawowego tabeli pracowników, czyli Emp_ID.
mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, CONSTRAINT emp_id_fk FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID));
Aby sprawdzić, czy do kolumny tabeli działów zastosowano ograniczenie klucza obcego, wykonamy następujące zapytanie:
mysql> DESC department;
Składnia stosowana do stosowania ograniczenia klucza obcego w istniejącej kolumnie tabeli:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Przykład:
Weź pod uwagę, że mamy istniejącego pracownika stołu i dział. Później zdecydowaliśmy się zastosować ograniczenie KLUCZ OBCY do kolumny tabeli działów. Następnie wykonamy następujące zapytanie:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
Aby sprawdzić, czy do kolumny tabeli działów zastosowano ograniczenie klucza obcego, wykonamy następujące zapytanie:
mysql> DESC department;
5. SPRAWDŹ
- Za każdym razem, gdy do kolumny tabeli zostanie zastosowane ograniczenie sprawdzające i użytkownik będzie chciał wstawić do niej wartość, przed wstawieniem wartości do tej kolumny wartość zostanie najpierw sprawdzona pod kątem spełnienia określonych warunków.
Składnia stosowana do stosowania ograniczenia sprawdzającego w pojedynczej kolumnie:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Przykład:
Utwórz tabelę uczniów i zastosuj ograniczenie CHECK, aby podczas tworzenia tabeli sprawdzić wiek mniejszy lub równy 15.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT CHECK( Age <= 15)); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-26.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-27.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on multiple columns:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply CHECK constraint to check for the age less than or equal to 15 and a percentage greater than 85 while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85)); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-28.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the age and percentage column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-29.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ADD CHECK (ColumnName Condition); </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the CHECK constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table's column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15></pre></=>
Składnia stosowana do stosowania ograniczenia sprawdzającego w wielu kolumnach:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Przykład:
Utwórz tabelę uczniów i zastosuj ograniczenie CHECK, aby podczas tworzenia tabeli sprawdzić, czy wiek nie przekracza 15 lat i procent przekracza 85 lat.
stałe Java
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85));
Aby sprawdzić, czy ograniczenie sprawdzające zostało zastosowane do kolumny wieku i procentu, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia stosowana do stosowania ograniczenia sprawdzającego w istniejącej kolumnie tabeli:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Przykład:
Rozważmy, że mamy istniejącego ucznia przy stole. Później zdecydowaliśmy się zastosować ograniczenie CHECK w kolumnie tabeli uczniów. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table's column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15>
6. DOMYŚLNY
Za każdym razem, gdy do kolumny tabeli zostanie zastosowane ograniczenie domyślne, a użytkownik nie określił wartości, która ma zostać w niej wstawiona, wówczas do tej konkretnej kolumny zostanie wstawiona wartość domyślna, która została określona podczas stosowania ograniczenia domyślnego.
Składnia stosowana do stosowania domyślnego ograniczenia podczas tworzenia tabeli:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Przykład:
Utwórz tabelę uczniów i zastosuj domyślne ograniczenie podczas tworzenia tabeli.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]');
Aby sprawdzić, czy do kolumny tabeli ucznia zastosowano domyślne ograniczenie, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia stosowana do stosowania domyślnego ograniczenia w istniejącej kolumnie tabeli:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Przykład:
Rozważmy, że mamy istniejącego ucznia przy stole. Później zdecydowaliśmy się zastosować ograniczenie DEFAULT w kolumnie tabeli uczniów. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
Aby sprawdzić, czy do kolumny tabeli ucznia zastosowano domyślne ograniczenie, wykonamy następujące zapytanie:
mysql> DESC student;
7. UTWÓRZ INDEKS
Ograniczenie CREATE INDEX służy do tworzenia indeksu w tabeli. Indeksy nie są widoczne dla użytkownika, ale pomagają użytkownikowi przyspieszyć wyszukiwanie lub pobieranie danych z bazy danych.
Składnia do utworzenia indeksu w pojedynczej kolumnie:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Przykład:
Utwórz indeks w tabeli ucznia i zastosuj domyślne ograniczenie podczas tworzenia tabeli.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie tworzenia indeksu, wykonamy następujące zapytanie:
mysql> DESC student;
Składnia tworzenia indeksu dla wielu kolumn:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
Przykład:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie tworzenia indeksu, wykonamy następujące zapytanie:
kwartał w biznesie
mysql> DESC student;
Składnia tworzenia indeksu w istniejącej tabeli:
ALTER TABLE TableName ADD INDEX (ColumnName);
Rozważmy, że mamy istniejącego ucznia przy stole. Później zdecydowaliśmy się zastosować ograniczenie DEFAULT w kolumnie tabeli uczniów. Następnie wykonamy następujące zapytanie:
mysql> ALTER TABLE student ADD INDEX (StudentID);
Aby sprawdzić, czy do kolumny tabeli uczniów zastosowano ograniczenie tworzenia indeksu, wykonamy następujące zapytanie:
mysql> DESC student;
=15>=>