logo

القيود في SQL

القيود في SQL تعني أننا نطبق شروطًا أو قيودًا معينة على قاعدة البيانات. وهذا يعني أيضًا أنه قبل إدراج البيانات في قاعدة البيانات، فإننا نتحقق من بعض الشروط. إذا كان الشرط الذي طبقناه على قاعدة البيانات ينطبق على البيانات التي سيتم إدراجها، فسيتم إدراج البيانات فقط في جداول قاعدة البيانات.

يمكن تصنيف القيود في SQL إلى نوعين:

    قيد مستوى العمود:
    يتم استخدام قيد مستوى العمود لتطبيق قيد على عمود واحد.قيد مستوى الجدول:
    يتم استخدام قيد مستوى الجدول لتطبيق قيد على أعمدة متعددة.

بعض الأمثلة الواقعية للقيود هي كما يلي:

  1. كل شخص لديه معرف بريد إلكتروني فريد. وذلك لأنه أثناء إنشاء حساب بريد إلكتروني لأي مستخدم، فإن البريد الإلكتروني الذي يقدم خدمات مثل Gmail أو Yahoo أو أي خدمة أخرى تقدم بريدًا إلكترونيًا سيتحقق دائمًا من توفر معرف البريد الإلكتروني الذي يريده المستخدم لنفسه. إذا حصل مستخدم آخر بالفعل على معرف البريد الإلكتروني الذي يريده المستخدم، فلا يمكن تعيين هذا المعرف لمستخدم آخر. وهذا يعني ببساطة أنه لا يمكن أن يكون لدى اثنين من المستخدمين نفس معرفات البريد الإلكتروني على نفس خدمة تقديم البريد الإلكتروني. لذا، فإن معرف البريد الإلكتروني هنا هو القيد على قاعدة بيانات خدمات تقديم البريد الإلكتروني.
  2. عندما نقوم بتعيين كلمة مرور لأي نظام، هناك بعض القيود التي يجب اتباعها. وقد تشمل هذه القيود ما يلي:
    • يجب أن يكون هناك حرف واحد كبير في كلمة المرور.
    • يجب أن تتكون كلمة المرور من ثمانية أحرف على الأقل.
    • يجب أن تحتوي كلمة المرور على رمز خاص واحد على الأقل.

القيود المتوفرة في SQL هي:

  1. غير فارغة
  2. فريد
  3. المفتاح الأساسي
  4. مفتاح غريب
  5. يفحص
  6. تقصير
  7. إنشاء فهرس

الآن دعونا نحاول فهم القيود المختلفة المتوفرة في SQL بمزيد من التفصيل بمساعدة الأمثلة. سوف نستخدم قاعدة بيانات MySQL لكتابة كافة الاستعلامات.

1. ليست فارغة

  • 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

للتحقق من تطبيق القيد غير الفارغ على عمود الجدول وإنشاء جدول الطالب بنجاح، سنقوم بتنفيذ الاستعلام التالي:

 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

للتحقق من تطبيق القيد غير الفارغ على عمود جدول الطالب، سنقوم بتنفيذ الاستعلام التالي:

 mysql> DESC student; 

القيود في SQL

2. فريد من نوعه

  • غير مسموح بالقيم المكررة في الأعمدة التي تم تطبيق القيد الفريد عليها.
  • سيحتوي العمود ذو القيد الفريد دائمًا على قيمة فريدة.
  • يمكن تطبيق هذا القيد على عمود واحد أو أكثر من الجدول، مما يعني إمكانية وجود أكثر من قيد فريد في جدول واحد.
  • باستخدام القيد الفريد، يمكنك أيضًا تعديل الجداول التي تم إنشاؤها بالفعل.

بناء الجملة لتطبيق القيد الفريد على عمود واحد:

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

مثال:

قم بإنشاء جدول طالب وقم بتطبيق قيد فريد على أحد أعمدة الجدول أثناء إنشاء الجدول.

 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

بناء الجملة لتطبيق القيد الفريد على أكثر من عمود:

منع الإعلانات على اليوتيوب للاندرويد
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

مثال:

قم بإنشاء جدول طالب وقم بتطبيق قيد فريد على أكثر من عمود جدول أثناء إنشاء الجدول.

 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

بناء الجملة لتطبيق القيد الفريد على عمود جدول موجود:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

مثال:

موقع df

لنفترض أن لدينا طالب جدول موجود، دون تطبيق أي قيود عليه. لاحقًا، قررنا تطبيق قيد فريد على أحد أعمدة الجدول. وبعد ذلك سوف نقوم بتنفيذ الاستعلام التالي:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

القيود في SQL

للتحقق من تطبيق القيد الفريد على عمود الجدول وإنشاء جدول الطالب بنجاح، سنقوم بتنفيذ الاستعلام التالي:

 mysql> DESC student; 

القيود في SQL

3. المفتاح الأساسي

  • قيد المفتاح الأساسي هو مزيج من القيود غير الفارغة والفريدة من نوعها.
  • يشكل القيد NOT NULL والقيد UNIQUE معًا قيدًا أساسيًا.
  • سيحتوي العمود الذي طبقنا عليه القيد الأساسي دائمًا على قيمة فريدة ولن يسمح بالقيم الخالية.

بناء جملة قيد المفتاح الأساسي أثناء إنشاء الجدول:

 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 باسم القيد أثناء إنشاء الجدول.

لإنشاء مفتاح خارجي على أي جدول، نحتاج أولاً إلى إنشاء مفتاح أساسي على الجدول.

 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

للتحقق من تطبيق قيد المفتاح الخارجي على عمود جدول القسم، سنقوم بتنفيذ الاستعلام التالي:

int إلى شار جافا
 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); 

مثال:

قم بإنشاء جدول للطالب وقم بتطبيق قيد التحقق للتحقق من أن العمر أقل من أو يساوي 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

بناء الجملة لتطبيق قيد التحقق على أعمدة متعددة:

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

مثال:

أنشئ جدول طلاب وقم بتطبيق قيد التحقق للتحقق من أن العمر أقل من أو يساوي 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); 

مثال:

لنفترض أن لدينا طالب جدول موجود. لاحقًا، قررنا تطبيق قيد التحقق على عمود جدول الطالب. وبعد ذلك سوف نقوم بتنفيذ الاستعلام التالي:

 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

بناء الجملة لتطبيق القيد الافتراضي على عمود جدول موجود:

توسيط الصور في CSS
 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

مثال:

لنفترض أن لدينا طالب جدول موجود. وفي وقت لاحق، قررنا تطبيق القيد الافتراضي على عمود جدول الطالب. وبعد ذلك سوف نقوم بتنفيذ الاستعلام التالي:

 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

بناء الجملة لإنشاء فهرس على أعمدة متعددة:

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

لنفترض أن لدينا طالب جدول موجود. وفي وقت لاحق، قررنا تطبيق القيد الافتراضي على عمود جدول الطالب. وبعد ذلك سوف نقوم بتنفيذ الاستعلام التالي:

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

القيود في SQL

للتحقق من تطبيق قيد إنشاء الفهرس على عمود جدول الطالب، سنقوم بتنفيذ الاستعلام التالي:

 mysql&gt; DESC student; 

القيود في SQL