Obmedzenia v SQL znamenajú, že na databázu aplikujeme určité podmienky alebo obmedzenia. To ďalej znamená, že pred vložením údajov do databázy kontrolujeme niektoré podmienky. Ak platí podmienka, ktorú sme aplikovali na databázu pre údaje, ktoré sa majú vložiť, do databázových tabuliek sa vložia iba údaje.
Obmedzenia v SQL možno kategorizovať do dvoch typov:
Obmedzenie na úrovni stĺpca sa používa na použitie obmedzenia na jeden stĺpec.
Obmedzenie na úrovni tabuľky sa používa na použitie obmedzenia na viaceré stĺpce.
Niektoré zo skutočných príkladov obmedzení sú nasledovné:
- Každá osoba má jedinečné e-mailové ID. Je to preto, že pri vytváraní e-mailového účtu pre akéhokoľvek používateľa služba poskytujúca e-mail, ako je Gmail, Yahoo alebo akákoľvek iná služba poskytujúca e-mail, vždy skontroluje dostupnosť e-mailového ID, ktoré používateľ chce pre seba. Ak už nejaký iný používateľ vezme e-mailovú adresu, ktorú chce používateľ, potom toto ID nemožno priradiť inému používateľovi. To jednoducho znamená, že žiadni dvaja používatelia nemôžu mať rovnaké e-mailové ID v rovnakej službe poskytujúcej e-mail. Takže tu je e-mailové ID obmedzením databázy služieb poskytujúcich e-maily.
- Kedykoľvek nastavujeme heslo pre akýkoľvek systém, existujú určité obmedzenia, ktoré je potrebné dodržiavať. Tieto obmedzenia môžu zahŕňať nasledovné:
- Heslo musí obsahovať jedno veľké písmeno.
- Heslo musí mať aspoň osem znakov.
- Heslo musí obsahovať aspoň jeden špeciálny symbol.
Obmedzenia dostupné v SQL sú:
- NIE JE NULL
- UNIKÁTNY
- PRIMÁRNY KĽÚČ
- CUDZÍ KĽÚČ
- KONTROLA
- DEFAULT
- VYTVORIŤ INDEX
Teraz sa pokúsme podrobnejšie pochopiť rôzne obmedzenia dostupné v SQL pomocou príkladov. Na písanie všetkých dopytov použijeme databázu MySQL.
1. NIE JE NULL
- NULL znamená prázdne, t.j. hodnota nie je k dispozícii.
- Kedykoľvek je stĺpec tabuľky deklarovaný ako NOT NULL, potom hodnota pre tento stĺpec nemôže byť prázdna pre žiadny zo záznamov tabuľky.
- V stĺpci musí existovať hodnota, na ktorú sa vzťahuje obmedzenie NOT NULL.
POZNÁMKA: NULL neznamená nulu. NULL znamená prázdny stĺpec, dokonca ani nulu.
Syntax na použitie obmedzenia NOT NULL počas vytvárania tabuľky:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
Príklad:
Vytvorte študentskú tabuľku a pri vytváraní tabuľky aplikujte obmedzenie NOT NULL na jeden zo stĺpcov tabuľky.
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 sme overili, že na stĺpec tabuľky je aplikované nenulové obmedzenie a študentská tabuľka je úspešne vytvorená, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie obmedzenia NOT NULL na existujúci stĺpec tabuľky:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
Príklad:
Predstavte si, že máme existujúceho študenta tabuľky bez akýchkoľvek obmedzení. Neskôr sme sa rozhodli použiť obmedzenie NOT NULL na jeden zo stĺpcov tabuľky. Potom vykonáme nasledujúci dotaz:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
Aby sme si overili, či sa na stĺpec študentskej tabuľky použije nenulové obmedzenie, vykonáme nasledujúci dotaz:
mysql> DESC student;
2. JEDINEČNÉ
- Duplicitné hodnoty nie sú povolené v stĺpcoch, na ktoré sa vzťahuje obmedzenie UNIQUE.
- Stĺpec s jedinečným obmedzením bude vždy obsahovať jedinečnú hodnotu.
- Toto obmedzenie môže byť aplikované na jeden alebo viac ako jeden stĺpec tabuľky, čo znamená, že v jednej tabuľke môže existovať viac ako jedno jedinečné obmedzenie.
- Pomocou obmedzenia UNIQUE môžete upraviť aj už vytvorené tabuľky.
Syntax na použitie obmedzenia UNIQUE na jeden stĺpec:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
Príklad:
Vytvorte študentskú tabuľku a pri vytváraní tabuľky aplikujte UNIKÁTNE obmedzenie na jeden zo stĺpcov tabuľky.
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 sme si overili, či je na stĺpec tabuľky aplikované jedinečné obmedzenie a študentská tabuľka je úspešne vytvorená, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie obmedzenia UNIQUE na viac ako jeden stĺpec:
regálových psov
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
Príklad:
Vytvorte študentskú tabuľku a pri vytváraní tabuľky použite obmedzenie UNIQUE na viac ako jeden stĺpec tabuľky.
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 sme overili, že jedinečné obmedzenie je aplikované na viac ako jeden stĺpec tabuľky a študentská tabuľka je úspešne vytvorená, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie obmedzenia UNIQUE na existujúci stĺpec tabuľky:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Príklad:
Predstavte si, že máme existujúceho študenta tabuľky bez akýchkoľvek obmedzení. Neskôr sme sa rozhodli použiť UNIKÁTNE obmedzenie na jeden stĺpec tabuľky. Potom vykonáme nasledujúci dotaz:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
Aby sme si overili, či je na stĺpec tabuľky aplikované jedinečné obmedzenie a študentská tabuľka je úspešne vytvorená, vykonáme nasledujúci dotaz:
objekt poľa v jazyku Java
mysql> DESC student;
3. PRIMÁRNY KĽÚČ
- Obmedzenie PRIMARY KEY je kombináciou obmedzení NOT NULL a Unique.
- Obmedzenie NOT NULL a obmedzenie UNIQUE spolu tvoria PRIMÁRNE obmedzenie.
- Stĺpec, na ktorý sme aplikovali primárne obmedzenie, bude vždy obsahovať jedinečnú hodnotu a nebude umožňovať nulové hodnoty.
Syntax obmedzenia primárneho kľúča počas vytvárania tabuľky:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
Príklad:
Vytvorte študentskú tabuľku a pri vytváraní tabuľky aplikujte obmedzenie PRIMARY KEY.
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 sme si overili, či je obmedzenie primárneho kľúča aplikované na stĺpec tabuľky a študentská tabuľka je úspešne vytvorená, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie obmedzenia primárneho kľúča na existujúci stĺpec tabuľky:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Príklad:
Uvažujme, že máme existujúceho študenta tabuľky bez akýchkoľvek obmedzení. Neskôr sme sa rozhodli použiť obmedzenie PRIMARY KEY na stĺpec tabuľky. Potom vykonáme nasledujúci dotaz:
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
Aby sme overili, že obmedzenie primárneho kľúča je aplikované na stĺpec študentskej tabuľky, vykonáme nasledujúci dotaz:
mysql> DESC student;
4. CUDZÍ KĽÚČ
- Cudzí kľúč sa používa na referenčnú integritu.
- Keď máme dve tabuľky a jedna tabuľka berie odkaz z inej tabuľky, t. j. rovnaký stĺpec je prítomný v oboch tabuľkách a tento stĺpec funguje ako primárny kľúč v jednej tabuľke. Tento konkrétny stĺpec bude fungovať ako cudzí kľúč v inej tabuľke.
Syntax na použitie obmedzenia cudzieho kľúča počas vytvárania tabuľky:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Príklad:
hlavná metóda java
Vytvorte tabuľku zamestnancov a pri vytváraní tabuľky použite obmedzenie FOREIGN KEY.
Ak chcete vytvoriť cudzí kľúč na ľubovoľnej tabuľke, najprv musíme vytvoriť primárny kľúč na tabuľke.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Aby sme overili, že obmedzenie primárneho kľúča je aplikované na stĺpec tabuľky zamestnancov, vykonáme nasledujúci dotaz:
mysql> DESC employee;
Teraz napíšeme dotaz na použitie cudzieho kľúča v tabuľke oddelenia s odkazom na primárny kľúč tabuľky zamestnancov, t. j. 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 sme overili, že obmedzenie cudzieho kľúča je aplikované na stĺpec tabuľky oddelení, vykonáme nasledujúci dotaz:
mysql> DESC department;
Syntax na použitie obmedzenia cudzieho kľúča s názvom obmedzenia:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Príklad:
Vytvorte tabuľku zamestnancov a pri vytváraní tabuľky aplikujte obmedzenie FOREIGN KEY s názvom obmedzenia.
Ak chcete vytvoriť cudzí kľúč na ľubovoľnej tabuľke, najprv musíme vytvoriť primárny kľúč na tabuľke.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Aby sme overili, že obmedzenie primárneho kľúča je aplikované na stĺpec študentskej tabuľky, vykonáme nasledujúci dotaz:
mysql> DESC employee;
Teraz napíšeme dotaz na aplikovanie cudzieho kľúča s názvom obmedzenia na tabuľku oddelení s odkazom na primárny kľúč tabuľky zamestnancov, t. j. 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 sme overili, že obmedzenie cudzieho kľúča je aplikované na stĺpec tabuľky oddelení, vykonáme nasledujúci dotaz:
mysql> DESC department;
Syntax na použitie obmedzenia cudzieho kľúča na existujúci stĺpec tabuľky:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Príklad:
Predstavte si, že máme existujúceho zamestnanca a oddelenie. Neskôr sme sa rozhodli použiť obmedzenie FOREIGN KEY na stĺpec tabuľky oddelení. Potom vykonáme nasledujúci dotaz:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
Aby sme overili, že obmedzenie cudzieho kľúča je aplikované na stĺpec tabuľky oddelení, vykonáme nasledujúci dotaz:
mysql> DESC department;
5. SKONTROLUJTE
- Vždy, keď sa na stĺpec tabuľky použije kontrolné obmedzenie a používateľ chce do neho vložiť hodnotu, pred vložením hodnoty do tohto stĺpca sa hodnota najskôr skontroluje na určité podmienky.
Syntax na použitie kontrolného obmedzenia na jeden stĺpec:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Príklad:
Vytvorte tabuľku študentov a aplikujte obmedzenie CHECK na kontrolu veku menšieho alebo rovného 15 pri vytváraní tabuľky.
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></=>
Syntax na použitie kontrolného obmedzenia na viaceré stĺpce:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Príklad:
Vytvorte tabuľku študentov a aplikujte obmedzenie CHECK na kontrolu veku menšieho alebo rovného 15 a percenta väčšieho ako 85 pri vytváraní tabuľky.
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 sme overili, či sa obmedzenie kontroly vzťahuje na stĺpec vek a percento, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie kontrolného obmedzenia na existujúci stĺpec tabuľky:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Príklad:
Uvažujme, že máme existujúceho stolového študenta. Neskôr sme sa rozhodli použiť obmedzenie CHECK na stĺpec študentskej tabuľky. Potom vykonáme nasledujúci dotaz:
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. VÝCHOZÍ
Vždy, keď sa na stĺpec tabuľky použije predvolené obmedzenie a používateľ nešpecifikoval hodnotu, ktorá sa má do neho vložiť, potom sa do daného stĺpca vloží predvolená hodnota, ktorá bola zadaná pri použití predvoleného obmedzenia.
príkaz touch v linuxe
Syntax na použitie predvoleného obmedzenia počas vytvárania tabuľky:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Príklad:
Vytvorte študentskú tabuľku a pri vytváraní tabuľky použite predvolené obmedzenie.
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 sme overili, či sa na stĺpec študentskej tabuľky použije predvolené obmedzenie, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na použitie predvoleného obmedzenia na existujúci stĺpec tabuľky:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Príklad:
generátor náhodných čísel v c
Uvažujme, že máme existujúceho stolového študenta. Neskôr sme sa rozhodli použiť obmedzenie DEFAULT na stĺpec študentskej tabuľky. Potom vykonáme nasledujúci dotaz:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
Aby sme overili, či sa na stĺpec študentskej tabuľky použije predvolené obmedzenie, vykonáme nasledujúci dotaz:
mysql> DESC student;
7. VYTVORTE INDEX
Obmedzenie CREATE INDEX sa používa na vytvorenie indexu v tabuľke. Indexy nie sú pre používateľa viditeľné, ale pomáhajú používateľovi zrýchliť rýchlosť vyhľadávania alebo získavania údajov z databázy.
Syntax na vytvorenie indexu v jednom stĺpci:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Príklad:
Vytvorte index na študentskej tabuľke a pri vytváraní tabuľky použite predvolené obmedzenie.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
Aby sme si overili, či sa obmedzenie vytvorenia indexu aplikuje na stĺpec študentskej tabuľky, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na vytvorenie indexu vo viacerých stĺpcoch:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
Príklad:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
Aby sme si overili, či sa obmedzenie vytvorenia indexu aplikuje na stĺpec študentskej tabuľky, vykonáme nasledujúci dotaz:
mysql> DESC student;
Syntax na vytvorenie indexu v existujúcej tabuľke:
ALTER TABLE TableName ADD INDEX (ColumnName);
Uvažujme, že máme existujúceho stolového študenta. Neskôr sme sa rozhodli použiť obmedzenie DEFAULT na stĺpec študentskej tabuľky. Potom vykonáme nasledujúci dotaz:
mysql> ALTER TABLE student ADD INDEX (StudentID);
Aby sme si overili, či sa obmedzenie vytvorenia indexu aplikuje na stĺpec študentskej tabuľky, vykonáme nasledujúci dotaz:
mysql> DESC student;
=15>=>