logo

אילוצים ב-SQL

אילוצים ב-SQL פירושם שאנו מיישמים תנאים מסוימים או הגבלות על מסד הנתונים. זה אומר עוד שלפני הכנסת נתונים למסד הנתונים, אנו בודקים תנאים מסוימים. אם התנאי שהחלנו על מסד הנתונים מתקיים עבור הנתונים שיש להכניס, אז רק הנתונים יוכנסו לטבלאות מסד הנתונים.

אילוצים ב-SQL ניתן לסווג לשני סוגים:

    אילוץ רמת עמודה:
    אילוץ רמת עמודה משמש להחלת אילוץ על עמודה בודדת.אילוץ רמת טבלה:
    אילוץ רמת טבלה משמש להחלת אילוץ על עמודות מרובות.

כמה מהדוגמאות האמיתיות של אילוצים הן כדלקמן:

  1. לכל אדם יש מזהה דוא'ל ייחודי. הסיבה לכך היא שבזמן יצירת חשבון דוא'ל לכל משתמש, הדוא'ל המספק שירותים כגון Gmail, יאהו או כל שירות אחר המספק דוא'ל תמיד יבדוק את הזמינות של מזהה האימייל שהמשתמש רוצה בעצמו. אם משתמש אחר כבר לוקח את מזהה הדוא'ל שהמשתמש רוצה, לא ניתן להקצות את המזהה הזה למשתמש אחר. זה פשוט אומר שלשני משתמשים לא יכולים להיות אותם מזהי דוא'ל באותו דוא'ל המספק שירות. אז, כאן מזהה הדוא'ל הוא המגבלה על מסד הנתונים של שירותי דואר אלקטרוני המספקים.
  2. בכל פעם שאנו מגדירים סיסמה עבור כל מערכת, ישנם אילוצים מסוימים שיש לעקוב אחריהם. אילוצים אלה עשויים לכלול את הדברים הבאים:
    • חייב להיות תו אחד גדול בסיסמה.
    • הסיסמה חייבת להיות באורך של שמונה תווים לפחות.
    • הסיסמה חייבת להכיל לפחות סמל מיוחד אחד.

אילוצים זמינים ב-SQL הם:

  1. לא ריק
  2. ייחודי
  3. מפתח ראשי
  4. מפתח זר
  5. חשבון
  6. בְּרִירַת מֶחדָל
  7. צור אינדקס

כעת ננסה להבין את האילוצים השונים הזמינים ב-SQL ביתר פירוט בעזרת דוגמאות. נשתמש במסד הנתונים של MySQL לכתיבת כל השאילתות.

1. לא NULL

  • NULL פירושו ריק, כלומר, הערך אינו זמין.
  • בכל פעם שעמודה של טבלה מוכרזת כ- NOT NULL, אז הערך של העמודה לא יכול להיות ריק עבור אף אחת מהרשומות של הטבלה.
  • חייב להיות ערך בעמודה שעליה מוחל האילוץ NOT NULL.

הערה: NULL אינו אומר אפס. NULL פירושו עמודה ריקה, אפילו לא אפס.

תחביר להחלת האילוץ NOT NULL במהלך יצירת הטבלה:

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

דוגמא:

צור טבלת תלמידים והחל אילוץ 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)); 

אילוצים ב-SQL

כדי לוודא שהאילוץ לא null מוחל על העמודה של הטבלה וטבלת התלמידים נוצרה בהצלחה, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

תחביר להחלת האילוץ NOT NULL על עמודה של טבלה קיימת:

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

דוגמא:

קחו בחשבון שיש לנו תלמיד טבלה קיים, ללא כל אילוצים שהוחלו עליו. מאוחר יותר, החלטנו להחיל אילוץ NOT NULL על אחת מהעמודות של הטבלה. לאחר מכן נבצע את השאילתה הבאה:

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

אילוצים ב-SQL

כדי לוודא שהאילוץ לא null מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

2. ייחודי

  • ערכים כפולים אינם מותרים בעמודות שעליהן מוחל האילוץ UNIQUE.
  • העמודה עם האילוץ הייחודי תמיד תכיל ערך ייחודי.
  • ניתן להחיל אילוץ זה על אחת או יותר מעמודה אחת בטבלה, מה שאומר שיכול להתקיים יותר מאילוץ ייחודי אחד בטבלה בודדת.
  • באמצעות אילוץ UNIQUE, אתה יכול גם לשנות את הטבלאות שכבר נוצרו.

תחביר להחלת האילוץ UNIQUE על עמודה בודדת:

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

דוגמא:

צור טבלת תלמידים והחל אילוץ UNIQUE על אחת מעמודות הטבלה תוך כדי יצירת טבלה.

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

אילוצים ב-SQL

כדי לוודא שהאילוץ הייחודי מוחל על העמודה של הטבלה וטבלת התלמידים נוצרה בהצלחה, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

תחביר להחלת האילוץ UNIQUE על יותר מעמודה אחת:

היסטוריה בג'אווה
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

דוגמא:

צור טבלת תלמידים והחל אילוץ UNIQUE על יותר מעמודה אחת של טבלה תוך כדי יצירת טבלה.

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

אילוצים ב-SQL

כדי לוודא שהאילוץ הייחודי מוחל על יותר מעמודה אחת של טבלה וטבלת התלמידים נוצרה בהצלחה, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

תחביר להחלת האילוץ UNIQUE על עמודה של טבלה קיימת:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

דוגמא:

קחו בחשבון שיש לנו תלמיד טבלה קיים, ללא כל אילוצים שהוחלו עליו. מאוחר יותר, החלטנו להחיל אילוץ UNIQUE על אחת מעמודות הטבלה. לאחר מכן נבצע את השאילתה הבאה:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

אילוצים ב-SQL

כדי לוודא שהאילוץ הייחודי מוחל על העמודה של הטבלה וטבלת התלמידים נוצרה בהצלחה, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

3. מפתח ראשי

  • PRIMARY KEY Constraint הוא שילוב של אילוצי NOT NULL ו-Unique.
  • אילוץ NOT NULL ואילוץ UNIQUE יוצרים יחד אילוץ PRIMARY.
  • העמודה עליה החלנו את האילוץ הראשי תמיד תכיל ערך ייחודי ולא תאפשר ערכי null.

תחביר של אילוץ מפתח ראשי במהלך יצירת טבלה:

c מערך מחרוזות
 CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype); 

דוגמא:

צור טבלת תלמידים והחל את האילוץ 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)); 

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הראשי מוחל על העמודה של הטבלה וטבלת התלמידים נוצרה בהצלחה, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

תחביר להחלת אילוץ המפתח הראשי על העמודה של טבלה קיימת:

 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

דוגמא:

קחו בחשבון שיש לנו תלמיד טבלה קיים, ללא כל אילוצים שהוחלו עליו. מאוחר יותר, החלטנו להחיל את האילוץ PRIMARY KEY על העמודה של הטבלה. לאחר מכן נבצע את השאילתה הבאה:

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

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הראשי מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql> DESC student; 

אילוצים ב-SQL

4. מפתח זר

  • מפתח זר משמש לשלמות התייחסותית.
  • כאשר יש לנו שתי טבלאות, וטבלה אחת לוקחת הפניה מטבלה אחרת, כלומר, אותה עמודה קיימת בשתי הטבלאות ועמודה זו פועלת כמפתח ראשי בטבלה אחת. העמודה הספציפית הזו תפעל כמפתח זר בטבלה אחרת.

תחביר להחלת אילוץ מפתח זר במהלך יצירת טבלה:

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

דוגמא:

צור טבלת עובדים והחל את אילוץ FOREIGN KEY תוך כדי יצירת טבלה.

כדי ליצור מפתח זר בכל טבלה, ראשית, עלינו ליצור מפתח ראשי בטבלה.

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

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הראשי מוחל על העמודה של טבלת העובדים, נבצע את השאילתה הבאה:

 mysql> DESC employee; 

אילוצים ב-SQL

כעת, נכתוב שאילתה להחלת מפתח זר על טבלת המחלקה בהתייחס למפתח הראשי של טבלת העובדים, כלומר, 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)); 

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הזר מוחל על העמודה של טבלת המחלקות, נבצע את השאילתה הבאה:

 mysql> DESC department; 

אילוצים ב-SQL

תחביר להחלת אילוץ מפתח זר עם שם אילוץ:

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

דוגמא:

צור טבלת עובדים והחל את אילוץ FOREIGN KEY עם שם אילוץ בזמן יצירת טבלה.

כדי ליצור מפתח זר בכל טבלה, ראשית, עלינו ליצור מפתח ראשי בטבלה.

es5 לעומת es6
 mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40)); 

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הראשי מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql> DESC employee; 

אילוצים ב-SQL

כעת, נכתוב שאילתה להחלת מפתח זר עם שם אילוץ על טבלת המחלקה המתייחסת למפתח הראשי של טבלת העובדים, כלומר 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)); 

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הזר מוחל על העמודה של טבלת המחלקות, נבצע את השאילתה הבאה:

 mysql> DESC department; 

אילוצים ב-SQL

תחביר להחלת אילוץ המפתח הזר על העמודה של טבלה קיימת:

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

דוגמא:

קחו בחשבון שיש לנו עובד שולחן ומחלקה קיימים. מאוחר יותר, החלטנו להחיל אילוץ FOREIGN KEY על העמודה של טבלת המחלקות. לאחר מכן נבצע את השאילתה הבאה:

 mysql> DESC employee; 

אילוצים ב-SQL
 mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID); 

אילוצים ב-SQL

כדי לוודא שאילוץ המפתח הזר מוחל על העמודה של טבלת המחלקות, נבצע את השאילתה הבאה:

 mysql> DESC department; 

אילוצים ב-SQL

5. בדוק

  • בכל פעם שהוחל אילוץ בדיקה על העמודה של הטבלה, והמשתמש רוצה להכניס בה את הערך, אז הערך ייבדק תחילה עבור תנאים מסוימים לפני הכנסת הערך לאותה עמודה.
  • לדוגמה:אם יש לנו עמודת גיל בטבלה, אז המשתמש יכניס כל ערך לבחירתו. המשתמש גם יזין אפילו ערך שלילי או כל ערך לא חוקי אחר. אבל, אם המשתמש החיל אילוץ בדיקה על עמודת הגיל עם התנאי גיל גדול מ-18. אז במקרים כאלה, גם אם משתמש מנסה להכניס ערך לא חוקי כגון אפס או כל ערך אחר קטן מ-18, אז הגיל עמודה לא תקבל את הערך הזה ולא תאפשר למשתמש להכניס אותו עקב יישום מגבלת המחאה על עמודת הגיל.

תחביר להחלת אילוץ בדיקה על עמודה בודדת:

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

דוגמא:

צור טבלת תלמידים והחל אילוץ CHECK כדי לבדוק את הגיל הקטן או שווה ל-15 בעת יצירת טבלה.

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

אילוצים ב-SQL

תחביר להחלת אילוץ בדיקה על עמודות מרובות:

25 מתוך 100
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),&#x2026;., ColumnNameN datatype); 

דוגמא:

צור טבלת תלמידים והחל אילוץ CHECK כדי לבדוק את הגיל הקטן או שווה ל-15 ואחוז גדול מ-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)); 

אילוצים ב-SQL

כדי לוודא שאילוץ הבדיקה מוחל על עמודת הגיל והאחוזים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL

תחביר להחלת אילוץ בדיקה על עמודה של טבלה קיימת:

 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

דוגמא:

קחו בחשבון שיש לנו תלמיד שולחן קיים. מאוחר יותר, החלטנו להחיל את האילוץ CHECK על העמודה של שולחן התלמידים. לאחר מכן נבצע את השאילתה הבאה:

 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>

אילוצים ב-SQL

6. ברירת מחדל

בכל פעם שהוחל אילוץ ברירת מחדל על עמודת הטבלה, והמשתמש לא ציין את הערך שיש להוסיף בה, אזי ערך ברירת המחדל שצוין בעת ​​החלת אילוץ ברירת המחדל יוכנס לאותה עמודה מסוימת.

תחביר להחלת אילוץ ברירת מחדל במהלך יצירת הטבלה:

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

דוגמא:

צור טבלת תלמידים והחל את אילוץ ברירת המחדל בזמן יצירת טבלה.

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

אילוצים ב-SQL

כדי לוודא שאילוץ ברירת המחדל מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL

תחביר להחלת אילוץ ברירת מחדל על עמודה של טבלה קיימת:

 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

דוגמא:

קחו בחשבון שיש לנו תלמיד שולחן קיים. מאוחר יותר, החלטנו להחיל את האילוץ DEFAULT על העמודה של טבלת התלמידים. לאחר מכן נבצע את השאילתה הבאה:

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

אילוצים ב-SQL

כדי לוודא שאילוץ ברירת המחדל מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL

7. צור אינדקס

אילוץ CREATE INDEX משמש ליצירת אינדקס על הטבלה. אינדקסים אינם גלויים למשתמש, אך הם עוזרים למשתמש להאיץ את מהירות החיפוש או שליפת הנתונים ממסד הנתונים.

תחביר ליצירת אינדקס בעמודה בודדת:

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

דוגמא:

צור אינדקס על טבלת התלמידים והחל את אילוץ ברירת המחדל בזמן יצירת טבלה.

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

אילוצים ב-SQL

כדי לוודא שאילוץ יצירת האינדקס מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL

תחביר ליצירת אינדקס על מספר עמודות:

תרשים ספרות רומיות 1 100
 CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); 

דוגמא:

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

אילוצים ב-SQL

כדי לוודא שאילוץ יצירת האינדקס מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL

תחביר ליצירת אינדקס בטבלה קיימת:

 ALTER TABLE TableName ADD INDEX (ColumnName); 

קחו בחשבון שיש לנו תלמיד שולחן קיים. מאוחר יותר, החלטנו להחיל את האילוץ DEFAULT על העמודה של טבלת התלמידים. לאחר מכן נבצע את השאילתה הבאה:

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

אילוצים ב-SQL

כדי לוודא שאילוץ יצירת האינדקס מוחל על העמודה של טבלת התלמידים, נבצע את השאילתה הבאה:

 mysql&gt; DESC student; 

אילוצים ב-SQL