logo

Megszorítások az SQL-ben

Az SQL korlátozásai azt jelentik, hogy bizonyos feltételeket vagy korlátozásokat alkalmazunk az adatbázisra. Ez továbbá azt jelenti, hogy mielőtt adatokat beszúrnánk az adatbázisba, ellenőrizünk bizonyos feltételeket. Ha az adatbázisra alkalmazott feltétel igaz a beszúrandó adatokra, akkor csak az adatok kerülnek be az adatbázistáblákba.

Az SQL kényszerei két típusra oszthatók:

    Oszlopszintű megkötés:
    Az Oszlopszintű megszorítást egyetlen oszlopra vonatkozó kényszer alkalmazására használják.Táblázatszintű megkötés:
    A Táblázatszintű megszorítást több oszlopra vonatkozó kényszer alkalmazására használják.

Néhány valós példa a korlátozásokra a következő:

  1. Minden embernek egyedi e-mail azonosítója van. Ennek az az oka, hogy amikor bármely felhasználó számára e-mail fiókot hoz létre, az e-mail-szolgáltatók, mint például a Gmail, a Yahoo vagy bármely más e-mailt szolgáltató szolgáltatás, mindig ellenőrzik a felhasználó által kívánt e-mail azonosító elérhetőségét. Ha egy másik felhasználó már megkapta az általa kívánt e-mail azonosítót, akkor az azonosító nem rendelhető hozzá másik felhasználóhoz. Ez egyszerűen azt jelenti, hogy két felhasználónak nem lehet ugyanaz az e-mail azonosítója ugyanazon az e-mail szolgáltatáson. Tehát itt az e-mail azonosító az e-mail szolgáltatást nyújtó adatbázis korlátozása.
  2. Amikor bármilyen rendszerhez jelszót állítunk be, bizonyos megkötéseket be kell tartani. Ezek a korlátozások a következőket tartalmazhatják:
    • A jelszóban egy nagybetűnek kell lennie.
    • A jelszónak legalább nyolc karakter hosszúságúnak kell lennie.
    • A jelszónak tartalmaznia kell legalább egy speciális szimbólumot.

Az SQL-ben elérhető megszorítások a következők:

  1. NEM NULLA
  2. EGYEDI
  3. ELSŐDLEGES KULCS
  4. IDEGEN KULCS
  5. JELÖLJE BE
  6. ALAPÉRTELMEZETT
  7. INDEX LÉTREHOZÁSA

Most próbáljuk meg részletesebben megérteni az SQL-ben elérhető különböző megszorításokat, példák segítségével. Az összes lekérdezés írásához MySQL adatbázist fogunk használni.

1. NEM NULL

  • NULL azt jelenti, hogy üres, azaz az érték nem elérhető.
  • Ha egy tábla oszlopa NEM NULL-ként van deklarálva, akkor az oszlop értéke nem lehet üres a tábla egyik rekordjában sem.
  • Léteznie kell egy értéknek abban az oszlopban, amelyre a NOT NULL megszorítás vonatkozik.

MEGJEGYZÉS: A NULL nem jelent nullát. A NULL üres oszlopot jelent, még csak nem is nullát.

Szintaxis a NOT NULL kényszer alkalmazásához a táblázat létrehozása során:

 CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblát, és a táblázat létrehozásakor alkalmazzon egy NOT NULL megszorítást a táblázat egyik oszlopára.

 CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40)); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy a nem null kényszert alkalmazták-e a tábla oszlopára, és a tanulótábla sikeresen létrejött-e, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

Szintaxis a NOT NULL kényszer alkalmazásához egy meglévő táblázat oszlopában:

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

Példa:

Tegyük fel, hogy van egy meglévő táblázatos tanulónk, anélkül, hogy bármilyen megkötést alkalmaznánk. Később úgy döntöttünk, hogy egy NOT NULL megszorítást alkalmazunk a táblázat egyik oszlopára. Ezután a következő lekérdezést hajtjuk végre:

 mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL; 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy a nem null megszorítás érvényesül a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

2. EGYEDI

  • Azokban az oszlopokban, amelyekre az EGYEDI megszorítás vonatkozik, nem megengedettek az értékek ismétlődése.
  • Az egyedi megszorítással rendelkező oszlop mindig egyedi értéket fog tartalmazni.
  • Ez a megszorítás alkalmazható a tábla egy vagy több oszlopára, ami azt jelenti, hogy egyetlen táblán egynél több egyedi megszorítás is létezhet.
  • Az EGYEDI kényszer segítségével a már létrehozott táblákat is módosíthatja.

Szintaxis az EGYEDI kényszer egyetlen oszlopra történő alkalmazásához:

 CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblát, és alkalmazzon EGYEDI kényszert a táblázat egyik oszlopára a táblázat létrehozásakor.

 mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40)); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az egyedi megszorítás alkalmazva van-e a tábla oszlopára, és a tanulótábla sikeresen létrejött-e, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

Szintaxis az EGYEDI kényszer alkalmazásához egynél több oszlopra:

java karakterlánc a json-ba
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

Példa:

változtassa meg a linux könyvtár nevét

Hozzon létre egy tanulói táblát, és alkalmazzon EGYEDI kényszert egynél több táblázat oszlopára a táblázat létrehozásakor.

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

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az egyedi megszorítás egynél több tábla oszlopára vonatkozik-e, és a tanulótábla sikeresen létrejött-e, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

Szintaxis az EGYEDI kényszer alkalmazásához egy meglévő táblázat oszlopára:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

Példa:

Tegyük fel, hogy van egy meglévő táblázatos tanulónk, anélkül, hogy bármilyen megkötést alkalmaznánk. Később úgy döntöttünk, hogy egy EGYEDI megszorítást alkalmazunk a táblázat egyik oszlopára. Ezután a következő lekérdezést hajtjuk végre:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az egyedi megszorítás alkalmazva van-e a tábla oszlopára, és a tanulótábla sikeresen létrejött-e, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

3. ELSŐDLEGES KULCS

  • A PRIMARY KEY Constraint a NOT NULL és az Unique megszorítások kombinációja.
  • A NOT NULL megszorítás és az EGYEDI kényszer együtt ELSŐDLEGES kényszert alkot.
  • Az oszlop, amelyre az elsődleges megszorítást alkalmaztuk, mindig egyedi értéket fog tartalmazni, és nem engedélyez null értékeket.

Az elsődleges kulcs kényszerének szintaxisa a táblázat létrehozása során:

 CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblát, és alkalmazza az ELSŐDLEGES KULCS kényszert a táblázat létrehozásakor.

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

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az elsődleges kulcs kényszere érvényesül-e a tábla oszlopára, és a tanulótábla sikeresen létrejött-e, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

Szintaxis az elsődleges kulcs megkötésének alkalmazásához egy meglévő tábla oszlopára:

 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

Példa:

Tegyük fel, hogy van egy meglévő táblázatos tanulónk, anélkül, hogy bármilyen megkötést alkalmaznánk. Később úgy döntöttünk, hogy a PRIMARY KEY kényszert alkalmazzuk a táblázat oszlopára. Ezután a következő lekérdezést hajtjuk végre:

 mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az elsődleges kulcs kényszere érvényesül-e a tanulótábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql> DESC student; 

Megszorítások az SQL-ben

4. IDEGEN KULCS

  • Idegen kulcsot használnak a hivatkozás integritására.
  • Ha két táblánk van, és az egyik tábla egy másik táblára hivatkozik, azaz ugyanaz az oszlop van mindkét táblában, és ez az oszlop elsődleges kulcsként működik egy táblában. Az adott oszlop idegen kulcsként fog működni egy másik táblában.

Szintaxis az idegen kulcs kényszer alkalmazásához a tábla létrehozása során:

 CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName)); 

Példa:

Hozzon létre egy alkalmazotti táblát, és alkalmazza a FOREIGN KEY kényszert a tábla létrehozása során.

Ahhoz, hogy bármilyen táblán idegen kulcsot hozzunk létre, először létre kell hoznunk egy elsődleges kulcsot egy táblán.

 mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40)); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az elsődleges kulcs kényszere érvényesül-e az alkalmazotti tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql> DESC employee; 

Megszorítások az SQL-ben

Most egy lekérdezést fogunk írni egy idegen kulcs alkalmazására a részlegtáblában, hivatkozva az alkalmazotti tábla elsődleges kulcsára, azaz az Emp_ID-re.

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

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az idegenkulcs-kényszer alkalmazva van-e a részlegtábla oszlopában, a következő lekérdezést hajtjuk végre:

 mysql> DESC department; 

Megszorítások az SQL-ben

Szintaxis az idegen kulcs kényszer alkalmazásához a kényszernévvel:

ha más utasítást a java-ban
 CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName)); 

Példa:

Hozzon létre egy alkalmazotti táblát, és alkalmazza a FOREIGN KEY kényszert kényszernévvel a tábla létrehozásakor.

Ahhoz, hogy bármilyen táblán idegen kulcsot hozzunk létre, először létre kell hoznunk egy elsődleges kulcsot egy táblán.

 mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40)); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az elsődleges kulcs kényszere érvényesül-e a tanulótábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql> DESC employee; 

Megszorítások az SQL-ben

Most egy lekérdezést fogunk írni egy olyan kényszernévvel rendelkező idegen kulcs alkalmazására a részlegtáblában, amely az alkalmazotti tábla elsődleges kulcsára, azaz az Emp_ID-re hivatkozik.

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

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az idegenkulcs-kényszer alkalmazva van-e a részlegtábla oszlopában, a következő lekérdezést hajtjuk végre:

 mysql> DESC department; 

Megszorítások az SQL-ben

Szintaxis az idegen kulcs kényszer alkalmazásához egy meglévő tábla oszlopára:

 ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName); 

Példa:

Vegye figyelembe, hogy van egy meglévő asztali alkalmazottunk és osztályunk. Később úgy döntöttünk, hogy egy FOREIGN KEY kényszert alkalmazunk a részlegtábla oszlopára. Ezután a következő lekérdezést hajtjuk végre:

 mysql> DESC employee; 

Megszorítások az SQL-ben
 mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az idegenkulcs-kényszer alkalmazva van-e a részlegtábla oszlopában, a következő lekérdezést hajtjuk végre:

 mysql> DESC department; 

Megszorítások az SQL-ben

5. ELLENŐRIZZE

  • Amikor egy ellenőrzési megszorítást alkalmaznak a tábla oszlopára, és a felhasználó be akarja szúrni az értéket, akkor az értéket először ellenőrizni kell bizonyos feltételekre, mielőtt beilleszti az értéket az oszlopba.
  • Például:ha van egy kor oszlop a táblázatban, akkor a felhasználó tetszőleges értéket beszúr. A felhasználó még negatív értéket is megad, vagy bármilyen más érvénytelen értéket. Ha azonban a felhasználó ellenőrzési megszorítást alkalmazott az életkor oszlopban a 18-nál nagyobb feltétellel. Ilyen esetekben még akkor is, ha a felhasználó érvénytelen értéket, például nullát vagy bármely más, 18-nál kisebb értéket próbál beszúrni, akkor az életkor oszlop nem fogadja el ezt az értéket, és nem teszi lehetővé a felhasználó számára, hogy beillessze azt, mivel az életkor oszlopra vonatkozó ellenőrzési kényszert alkalmaztak.

Szintaxis az ellenőrzési kényszer alkalmazásához egyetlen oszlopra:

 CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblázatot, és alkalmazza az ELLENŐRZÉS kényszert, hogy ellenőrizze a 15-nél kisebb vagy annál kisebb korosztályt a táblázat létrehozásakor.

 mysql&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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),&#x2026;., 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&gt; 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&gt; 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&apos;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&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;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,&#x2026;., 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&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); </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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;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&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; </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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15></pre></=>

Megszorítások az SQL-ben

Szintaxis az ellenőrzési kényszer több oszlopra történő alkalmazásához:

 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),&#x2026;., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblázatot, és alkalmazza az ELLENŐRZÉS kényszert, hogy ellenőrizze a 15 évnél kisebb vagy azzal egyenlő életkort és a 85-nél nagyobb százalékot a táblázat létrehozásakor.

 mysql&gt; 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)); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az ellenőrzési kényszer érvényes-e az életkor és százalékos oszlopra, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben

Szintaxis az ellenőrzési kényszer alkalmazásához egy meglévő tábla oszlopára:

olyan weboldal, mint a coomeet
 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

Példa:

Vegyük figyelembe, hogy van egy asztalos tanulónk. Később úgy döntöttünk, hogy alkalmazzuk a CHECK megkötést a tanulói táblázat oszlopában. Ezután a következő lekérdezést hajtjuk végre:

 mysql&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;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,&#x2026;., 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&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); </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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;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&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; </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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; 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&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; 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&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15>

Megszorítások az SQL-ben

6. ALAPÉRTELMEZETT

Ha egy alapértelmezett megszorítást alkalmaznak a tábla oszlopára, és a felhasználó nem adta meg a beillesztendő értéket, akkor az alapértelmezett megszorítás alkalmazásakor megadott alapértelmezett érték kerül beszúrásra az adott oszlopba.

Szintaxis az alapértelmezett kényszer alkalmazásához a táblázat létrehozása során:

 CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,&#x2026;., ColumnNameN datatype); 

Példa:

Hozzon létre egy tanulói táblát, és alkalmazza az alapértelmezett kényszert a táblázat létrehozásakor.

latex asztal
 mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az alapértelmezett megszorítás érvényesül-e a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben

Szintaxis alapértelmezett kényszer alkalmazásához egy meglévő táblázat oszlopára:

 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

Példa:

Vegyük figyelembe, hogy van egy asztalos tanulónk. Később úgy döntöttünk, hogy a DEFAULT megszorítást alkalmazzuk a tanulói táblázat oszlopában. Ezután a következő lekérdezést hajtjuk végre:

 mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az alapértelmezett megszorítás érvényesül-e a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben

7. INDEX LÉTREHOZÁSA

A CREATE INDEX megszorítás egy index létrehozására szolgál a táblán. Az indexek nem láthatók a felhasználó számára, de segítenek a felhasználónak felgyorsítani a keresési sebességet vagy az adatok lekérését az adatbázisból.

Szintaxis index létrehozásához egyetlen oszlopban:

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

Példa:

Hozzon létre egy indexet a tanulói táblán, és alkalmazza az alapértelmezett kényszert a táblázat létrehozásakor.

 mysql&gt; CREATE INDEX idx_StudentID ON student (StudentID); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az index létrehozási kényszere érvényesül-e a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben

Szintaxis index létrehozásához több oszlopon:

 CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); 

Példa:

 mysql&gt; CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az index létrehozási kényszere érvényesül-e a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben

Szintaxis index létrehozásához egy meglévő táblán:

 ALTER TABLE TableName ADD INDEX (ColumnName); 

Vegyük figyelembe, hogy van egy asztalos tanulónk. Később úgy döntöttünk, hogy a DEFAULT megszorítást alkalmazzuk a tanulói táblázat oszlopában. Ezután a következő lekérdezést hajtjuk végre:

 mysql&gt; ALTER TABLE student ADD INDEX (StudentID); 

Megszorítások az SQL-ben

Annak ellenőrzésére, hogy az index létrehozási kényszere érvényesül-e a tanulói tábla oszlopára, a következő lekérdezést hajtjuk végre:

 mysql&gt; DESC student; 

Megszorítások az SQL-ben