logo

Ierobežojumi SQL

Ierobežojumi SQL nozīmē, ka datubāzei piemērojam noteiktus nosacījumus vai ierobežojumus. Tas nozīmē, ka pirms datu ievietošanas datu bāzē mēs pārbaudām dažus nosacījumus. Ja nosacījums, ko esam piemērojuši datu bāzei, attiecas uz datiem, kas jāievieto, tad datu bāzes tabulās tiks ievietoti tikai dati.

SQL ierobežojumus var iedalīt divos veidos:

    Kolonnas līmeņa ierobežojums:
    Kolonnas līmeņa ierobežojums tiek izmantots, lai piemērotu ierobežojumu vienai kolonnai.Tabulas līmeņa ierobežojums:
    Tabulas līmeņa ierobežojums tiek izmantots, lai piemērotu ierobežojumu vairākām kolonnām.

Daži ierobežojumu piemēri dzīvē ir šādi:

  1. Katrai personai ir unikāls e-pasta ID. Tas ir tāpēc, ka, veidojot e-pasta kontu jebkuram lietotājam, e-pasts, kas nodrošina pakalpojumus, piemēram, Gmail, Yahoo vai jebkurš cits e-pasta pakalpojumu sniedzējs, vienmēr pārbaudīs lietotāja vēlamā e-pasta ID pieejamību. Ja kāds cits lietotājs jau izmanto lietotāja vajadzīgo e-pasta ID, šo ID nevar piešķirt citam lietotājam. Tas vienkārši nozīmē, ka diviem lietotājiem nevar būt vienādi e-pasta ID vienā un tajā pašā e-pasta pakalpojumu sniedzējā. Tātad šeit e-pasta ID ir ierobežojums e-pasta pakalpojumu sniedzēju datubāzei.
  2. Ikreiz, kad mēs iestatām paroli jebkurai sistēmai, ir jāievēro noteikti ierobežojumi. Šie ierobežojumi var ietvert:
    • Parolē jābūt vienai lielajai rakstzīmei.
    • Parolei jābūt vismaz astoņas rakstzīmes garai.
    • Parolē ir jāsatur vismaz viens īpašs simbols.

SQL pieejamie ierobežojumi ir:

  1. NAV NULL
  2. UNIKĀLS
  3. PRIMĀRĀ ATSLĒGA
  4. SVEŠA ATSLĒGA
  5. PĀRBAUDE
  6. NOKLUSĒJUMS
  7. IZVEIDOT INDEKSU

Tagad mēģināsim sīkāk izprast dažādos SQL pieejamos ierobežojumus, izmantojot piemērus. Visu vaicājumu rakstīšanai izmantosim MySQL datu bāzi.

1. NAV NULL

  • NULL nozīmē tukšu, t.i., vērtība nav pieejama.
  • Ikreiz, kad tabulas kolonna ir deklarēta kā NOT NULL, šīs kolonnas vērtība nevar būt tukša nevienam tabulas ierakstam.
  • Slejā, kurai tiek piemērots ierobežojums NOT NULL, ir jābūt vērtībai.

PIEZĪME: NULL nenozīmē nulli. NULL nozīmē tukšu kolonnu, pat ne nulli.

Sintakse, lai tabulas izveides laikā piemērotu ierobežojumu NOT NULL:

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

Piemērs:

Izveidojiet studenta tabulu un, veidojot tabulu, vienai no tabulas kolonnām piemērojiet ierobežojumu NOT NULL.

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

Ierobežojumi SQL

Lai pārbaudītu, vai tabulas kolonnai tiek piemērots ierobežojums, kas nav nulles, un studenta tabula ir veiksmīgi izveidota, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

Sintakse, lai esošas tabulas kolonnai piemērotu ierobežojumu NOT NULL:

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

Piemērs:

Apsveriet, ka mums ir esošs tabulas students, kuram nav piemēroti nekādi ierobežojumi. Vēlāk mēs nolēmām piemērot NOT NULL ierobežojumu vienai no tabulas kolonnām. Pēc tam izpildīsim šādu vaicājumu:

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai tiek piemērots ierobežojums, kas nav nulles, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

2. UNIKĀLS

  • Vērtību dublikāti nav atļauti kolonnās, kurām tiek piemērots UNIKĀLS ierobežojums.
  • Kolonnā ar unikālo ierobežojumu vienmēr būs unikāla vērtība.
  • Šo ierobežojumu var piemērot vienai vai vairākām tabulas kolonnām, kas nozīmē, ka vienā tabulā var pastāvēt vairāk nekā viens unikāls ierobežojums.
  • Izmantojot unikālo ierobežojumu, varat arī modificēt jau izveidotās tabulas.

Sintakse unikālā ierobežojuma piemērošanai vienai kolonnai:

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

Piemērs:

Izveidojiet studentu tabulu un, veidojot tabulu, piemērojiet UNIKĀLU ierobežojumu vienai no tabulas kolonnām.

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

Ierobežojumi SQL

Lai pārbaudītu, vai tabulas kolonnai ir piemērots unikālais ierobežojums un studenta tabula ir veiksmīgi izveidota, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

Sintakse, lai piemērotu UNIQUE ierobežojumu vairāk nekā vienai kolonnai:

java uz json objektu
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

Piemērs:

Izveidojiet studentu tabulu un, veidojot tabulu, lietojiet UNIKĀLU ierobežojumu vairāk nekā vienas tabulas kolonnām.

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

Ierobežojumi SQL

Lai pārbaudītu, vai unikālais ierobežojums ir piemērots vairāk nekā vienai tabulas kolonnai un studenta tabula ir veiksmīgi izveidota, izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

Sintakse, lai lietotu UNIQUE ierobežojumu esošai tabulas kolonnai:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

Piemērs:

Apsveriet, ka mums ir esošs tabulas students, kuram nav piemēroti nekādi ierobežojumi. Vēlāk mēs nolēmām piemērot UNIKĀLU ierobežojumu vienai no tabulas kolonnām. Pēc tam izpildīsim šādu vaicājumu:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

Ierobežojumi SQL

Lai pārbaudītu, vai tabulas kolonnai ir piemērots unikālais ierobežojums un studenta tabula ir veiksmīgi izveidota, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

3. PRIMĀRĀ ATSLĒGA

  • PRIMARY KEY Ierobežojums ir NOT NULL un Unique ierobežojumu kombinācija.
  • Ierobežojums NOT NULL un UNIKĀLS ierobežojums kopā veido PRIMĀRO ierobežojumu.
  • Kolonnā, kurai esam piemērojuši primāro ierobežojumu, vienmēr būs unikāla vērtība un netiks atļautas nulles vērtības.

Primārās atslēgas ierobežojuma sintakse tabulas izveides laikā:

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

Piemērs:

Izveidojiet studenta tabulu un, veidojot tabulu, lietojiet ierobežojumu PRIMARY KEY.

dizaina modeļi java
 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)); 

Ierobežojumi SQL

Lai pārbaudītu, vai tabulas kolonnai ir piemērots primārās atslēgas ierobežojums un studenta tabula ir veiksmīgi izveidota, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

Sintakse, lai lietotu primārās atslēgas ierobežojumu esošai tabulas kolonnai:

 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

Piemērs:

Apsveriet, ka mums ir esošs tabulas students, kuram nav piemēroti nekādi ierobežojumi. Vēlāk mēs nolēmām tabulas kolonnai piemērot ierobežojumu PRIMARY KEY. Pēc tam izpildīsim šādu vaicājumu:

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

Ierobežojumi SQL

Lai pārbaudītu, vai studentu tabulas kolonnai ir piemērots primārās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql> DESC student; 

Ierobežojumi SQL

4. ĀRZEMES ATSLĒGA

  • Atsauces integritātei tiek izmantota ārējā atslēga.
  • Ja mums ir divas tabulas un viena tabula izmanto atsauci no citas tabulas, t.i., viena un tā pati kolonna ir abās tabulās un šī kolonna darbojas kā primārā atslēga vienā tabulā. Šī konkrētā kolonna darbosies kā ārējā atslēga citā tabulā.

Sintakse ārējās atslēgas ierobežojuma piemērošanai tabulas izveides laikā:

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

Piemērs:

Izveidojiet darbinieku tabulu un, veidojot tabulu, izmantojiet ierobežojumu ĀRĒJĀ ATSLĒGA.

Lai jebkurā tabulā izveidotu ārējo atslēgu, vispirms tabulā ir jāizveido primārā atslēga.

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

Ierobežojumi SQL

Lai pārbaudītu, vai darbinieku tabulas kolonnai tiek piemērots primārās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql> DESC employee; 

Ierobežojumi SQL

Tagad mēs rakstīsim vaicājumu, lai nodaļas tabulā lietotu ārējo atslēgu, kas attiecas uz darbinieku tabulas primāro atslēgu, t.i., 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)); 

Ierobežojumi SQL

Lai pārbaudītu, vai nodaļas tabulas kolonnai ir piemērots ārējās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql> DESC department; 

Ierobežojumi SQL

Sintakse, lai lietotu ārējās atslēgas ierobežojumu ar ierobežojuma nosaukumu:

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

Piemērs:

Izveidojiet darbinieku tabulu un, veidojot tabulu, lietojiet ierobežojumu ĀRĒJĀ ATSLĒGA ar ierobežojuma nosaukumu.

Lai jebkurā tabulā izveidotu ārējo atslēgu, vispirms tabulā ir jāizveido primārā atslēga.

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

Ierobežojumi SQL

Lai pārbaudītu, vai studentu tabulas kolonnai ir piemērots primārās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql> DESC employee; 

Ierobežojumi SQL

Tagad mēs rakstīsim vaicājumu, lai nodaļas tabulā lietotu ārējo atslēgu ar ierobežojuma nosaukumu, kas attiecas uz darbinieku tabulas primāro atslēgu, t.i., 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)); 

Ierobežojumi SQL

Lai pārbaudītu, vai nodaļas tabulas kolonnai ir piemērots ārējās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

rūpniecība un rūpnīca
 mysql> DESC department; 

Ierobežojumi SQL

Sintakse, lai lietotu ārējās atslēgas ierobežojumu esošai tabulas kolonnai:

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

Piemērs:

Apsveriet, ka mums ir esošs galda darbinieks un nodaļa. Vēlāk mēs nolēmām piemērot FOREIGN KEY ierobežojumu nodaļas tabulas kolonnai. Pēc tam izpildīsim šādu vaicājumu:

 mysql> DESC employee; 

Ierobežojumi SQL
 mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID); 

Ierobežojumi SQL

Lai pārbaudītu, vai nodaļas tabulas kolonnai ir piemērots ārējās atslēgas ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql> DESC department; 

Ierobežojumi SQL

5. PĀRBAUDE

  • Ikreiz, kad tabulas kolonnai tiek piemērots pārbaudes ierobežojums un lietotājs vēlas tajā ievietot vērtību, pirms vērtības ievietošanas šajā kolonnā vērtība vispirms tiks pārbaudīta attiecībā uz noteiktiem nosacījumiem.
  • Piemēram:ja tabulā ir vecuma kolonna, lietotājs ievietos jebkuru vērtību pēc savas izvēles. Lietotājs arī ievadīs pat negatīvu vērtību vai jebkuru citu nederīgu vērtību. Bet, ja lietotājs ir piemērojis pārbaudes ierobežojumu vecuma slejā ar nosacījumu vecums ir lielāks par 18. Tad šādos gadījumos, pat ja lietotājs mēģina ievietot nederīgu vērtību, piemēram, nulli vai jebkuru citu vērtību, kas ir mazāka par 18, vecums kolonna nepieņems šo vērtību un neļaus lietotājam to ievietot, jo vecuma slejā tiek piemērots pārbaudes ierobežojums.

Sintakse, lai piemērotu pārbaudes ierobežojumu vienai kolonnai:

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

Piemērs:

Izveidojiet skolēnu tabulu un izmantojiet CHECK ierobežojumu, lai, veidojot tabulu, pārbaudītu vecumu, kas ir mazāks par 15 vai vienāds ar to.

 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></=>

Ierobežojumi SQL

Sintakse, lai piemērotu pārbaudes ierobežojumu vairākām kolonnām:

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

Piemērs:

numpy dot produkts

Izveidojiet skolēnu tabulu un izmantojiet CHECK ierobežojumu, lai, veidojot tabulu, pārbaudītu vecumu, kas ir mazāks vai vienāds ar 15, un procentuālā daļa, kas ir lielāka par 85.

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

Ierobežojumi SQL

Lai pārbaudītu, vai vecuma un procentu kolonnai ir piemērots pārbaudes ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL

Sintakse, lai piemērotu pārbaudes ierobežojumu esošai tabulas kolonnai:

 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

Piemērs:

Apsveriet, ka mums ir galda students. Vēlāk mēs nolēmām piemērot CHECK ierobežojumu studentu tabulas kolonnai. Pēc tam izpildīsim šādu vaicājumu:

 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>

Ierobežojumi SQL

6. NOKLUSĒJUMS

Ikreiz, kad tabulas kolonnai tiek piemērots noklusējuma ierobežojums un lietotājs nav norādījis tajā ievietojamo vērtību, šajā konkrētajā kolonnā tiks ievietota noklusējuma vērtība, kas tika norādīta, piemērojot noklusējuma ierobežojumu.

Sintakse noklusējuma ierobežojuma piemērošanai tabulas izveides laikā:

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

Piemērs:

Izveidojiet studentu tabulu un, veidojot tabulu, lietojiet noklusējuma ierobežojumu.

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai tiek piemērots noklusējuma ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL

Sintakse noklusējuma ierobežojuma piemērošanai esošai tabulas kolonnai:

 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

Piemērs:

Apsveriet, ka mums ir galda students. Vēlāk mēs nolēmām piemērot DEFAULT ierobežojumu studentu tabulas kolonnai. Pēc tam izpildīsim šādu vaicājumu:

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai tiek piemērots noklusējuma ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL

7. IZVEIDOT INDEKSU

Ierobežojumu CREATE INDEX izmanto, lai tabulā izveidotu indeksu. Indeksi lietotājam nav redzami, taču tie palīdz lietotājam paātrināt meklēšanas ātrumu vai datu izgūšanu no datu bāzes.

Sintakse, lai izveidotu indeksu vienā kolonnā:

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

Piemērs:

Izveidojiet indeksu studentu tabulā un piemērojiet noklusējuma ierobežojumu, veidojot tabulu.

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai ir piemērots indeksa izveides ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL

Sintakse, lai izveidotu indeksu vairākās kolonnās:

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

Piemērs:

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai ir piemērots indeksa izveides ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL

Sintakse, lai izveidotu indeksu esošajā tabulā:

 ALTER TABLE TableName ADD INDEX (ColumnName); 

Apsveriet, ka mums ir galda students. Vēlāk mēs nolēmām piemērot DEFAULT ierobežojumu studentu tabulas kolonnai. Pēc tam izpildīsim šādu vaicājumu:

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

Ierobežojumi SQL

Lai pārbaudītu, vai studenta tabulas kolonnai ir piemērots indeksa izveides ierobežojums, mēs izpildīsim šādu vaicājumu:

 mysql&gt; DESC student; 

Ierobežojumi SQL