دروس SQL

SQL الصفحة الرئيسية مقدمة SQL بناء جملة SQL حدد SQL حدد SQL مميزة SQL أين SQL و ، أو ، لا ترتيب SQL حسب إدراج SQL في قيم SQL الفارغة تحديث SQL حذف SQL حدد SQL الأعلى SQL Min و Max عدد SQL ، المتوسط ​​، المجموع SQL مثل SQL Wildcards SQL في SQL بين الأسماء المستعارة لـ SQL SQL ينضم انضمام SQL الداخلية انضمام SQL الأيسر SQL حق الانضمام SQL انضمام كامل الانضمام الذاتي SQL اتحاد SQL مجموعة SQL حسب SQL وجود SQL موجود SQL أي ، الكل SQL حدد Into إدراج SQL في التحديد حالة SQL وظائف SQL الفارغة إجراءات SQL المخزنة تعليقات SQL عوامل SQL

قاعدة بيانات SQL

إنشاء قاعدة بيانات SQL SQL Drop DB SQL النسخ الاحتياطي DB إنشاء جدول SQL جدول إسقاط SQL جدول تعديل SQL قيود SQL SQL ليس لاغى SQL الفريدة مفتاح SQL الأساسي المفتاح الخارجي لـ SQL فحص SQL SQL الافتراضي فهرس SQL زيادة SQL التلقائية تواريخ SQL طرق عرض SQL حقن SQL استضافة SQL أنواع بيانات SQL

مراجع SQL

كلمات SQL وظائف MySQL وظائف خادم SQL وظائف MS Access المرجع السريع SQL

أمثلة SQL

أمثلة SQL اختبار SQL تمارين SQL شهادة SQL

SQL AUTO INCREMENT الحقل


حقل زيادة تلقائي

تسمح الزيادة التلقائية بإنشاء رقم فريد تلقائيًا عند إدراج سجل جديد في جدول.

غالبًا ما يكون هذا هو حقل المفتاح الأساسي الذي نرغب في إنشائه تلقائيًا في كل مرة يتم فيها إدراج سجل جديد.


بناء الجملة لـ MySQL

تحدد عبارة SQL التالية العمود "Personid" ليكون حقل مفتاح أساسي للزيادة التلقائية في جدول "الأشخاص":

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

تستخدم MySQL AUTO_INCREMENTالكلمة الأساسية لأداء ميزة زيادة تلقائية.

بشكل افتراضي ، قيمة البداية لـ AUTO_INCREMENT1 ، وستزداد بمقدار 1 لكل سجل جديد.

للسماح AUTO_INCREMENTللتسلسل بالبدء بقيمة أخرى ، استخدم عبارة SQL التالية:

ALTER TABLE Persons AUTO_INCREMENT=100;

لإدراج سجل جديد في جدول "الأشخاص" ، لن نضطر إلى تحديد قيمة لعمود "Personid" (ستتم إضافة قيمة فريدة تلقائيًا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

عبارة SQL أعلاه من شأنها إدراج سجل جديد في جدول "الأشخاص". سيتم تعيين قيمة فريدة لعمود "الشخص". سيتم تعيين عمود "الاسم الأول" على "لارس" وسيتم تعيين عمود "الاسم الأخير" على "مونسن".


بناء الجملة لـ SQL Server

تحدد عبارة SQL التالية العمود "Personid" ليكون حقل مفتاح أساسي للزيادة التلقائية في جدول "الأشخاص":

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

يستخدم MS SQL Server IDENTITYالكلمة الأساسية لأداء ميزة زيادة تلقائية.

في المثال أعلاه ، قيمة البداية لـ IDENTITY1 ، وستزداد بمقدار 1 لكل سجل جديد.

نصيحة: لتحديد أن عمود "Personid" يجب أن يبدأ بالقيمة 10 والزيادة بمقدار 5 ، قم بتغييره إلى IDENTITY(10,5).

لإدراج سجل جديد في جدول "الأشخاص" ، لن نضطر إلى تحديد قيمة لعمود "Personid" (ستتم إضافة قيمة فريدة تلقائيًا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

عبارة SQL أعلاه من شأنها إدراج سجل جديد في جدول "الأشخاص". سيتم تعيين قيمة فريدة لعمود "الشخص". سيتم تعيين عمود "الاسم الأول" على "لارس" وسيتم تعيين عمود "الاسم الأخير" على "مونسن".



بناء الجملة للوصول

تحدد عبارة SQL التالية العمود "Personid" ليكون حقل مفتاح أساسي للزيادة التلقائية في جدول "الأشخاص":

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

يستخدم MS Access AUTOINCREMENTالكلمة الأساسية لأداء ميزة زيادة تلقائية.

بشكل افتراضي ، قيمة البداية لـ AUTOINCREMENT1 ، وستزداد بمقدار 1 لكل سجل جديد.

نصيحة: لتحديد أن عمود "Personid" يجب أن يبدأ بالقيمة 10 والزيادة بمقدار 5 ، قم بتغيير الزيادة التلقائية إلى AUTOINCREMENT(10,5).

لإدراج سجل جديد في جدول "الأشخاص" ، لن نضطر إلى تحديد قيمة لعمود "Personid" (ستتم إضافة قيمة فريدة تلقائيًا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

عبارة SQL أعلاه من شأنها إدراج سجل جديد في جدول "الأشخاص". سيتم تعيين قيمة فريدة لعمود "الشخص". سيتم تعيين عمود "الاسم الأول" على "لارس" وسيتم تعيين عمود "الاسم الأخير" على "مونسن".


النحو في Oracle

في Oracle ، يعد الكود أكثر تعقيدًا بعض الشيء.

سيكون عليك إنشاء حقل زيادة تلقائية مع كائن التسلسل (هذا الكائن يولد تسلسلاً رقميًا).

استخدم الصيغة التالية CREATE SEQUENCE:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;

يقوم الكود أعلاه بإنشاء كائن تسلسل يسمى seq_person ، يبدأ بالرقم 1 ويزيد بمقدار 1. كما أنه سيخزن ما يصل إلى 10 قيم للأداء. يحدد خيار التخزين المؤقت عدد قيم التسلسل التي سيتم تخزينها في الذاكرة للوصول بشكل أسرع.

لإدخال سجل جديد في جدول "الأشخاص" ، سيتعين علينا استخدام الوظيفة nextval (تسترد هذه الوظيفة القيمة التالية من التسلسل seq_person):

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');

عبارة SQL أعلاه من شأنها إدراج سجل جديد في جدول "الأشخاص". سيتم تعيين الرقم التالي لعمود "الشخص" من التسلسل seq_person. سيتم تعيين عمود "الاسم الأول" على "لارس" وسيتم تعيين عمود "الاسم الأخير" على "مونسن".