الأمر Insert في اللغة الاستعلامية SQL

الأمر Insert في اللغة الاستعلامية SQL

الأمر Insert في اللغة الاستعلامية SQL

 

هذه المقالة في عبارة الأمر Insert في اللغة الاستعلامية SQL ، هي جزء من سلسلة حول وظائف ومشغلات وتقنيات معالجة السلسلة.

تركز المقالات السابقة على تقنيات استعلام SQL ، وكلها تتمحور حول مهمة إعداد البيانات وتحويل البيانات.

لقد ركزنا حتى الآن على بيان محدد لقراءة المعلومات من الجدول.

لكن هذا يطرح السؤال.

كيف وصلت البيانات إلى هناك في المقام الأول؟

لذلك في هذه المقالة ، سنركز على عبارة DML ، عبارة SQL insert.

إذا أردنا إنشاء بيانات ، فسنستخدم كلمة SQL الأساسية ، “Insert”.

التنسيق العام هو عبارة INSERT INTO SQL متبوعة باسم جدول ، ثم قائمة الأعمدة ، ثم القيم التي تريد استخدام جملة  SQL Insert لإضافة البيانات إلى تلك الأعمدة.

عادة ما يكون الإدخال مهمة مباشرة.

يبدأ بعبارة بسيطة تتمثل في إدخال صف واحد.

ومع ذلك ، في كثير من الأحيان ، يكون استخدام نهج قائم على مجموعة لإنشاء صفوف جديدة أكثر كفاءة.

في الجزء الأخير من المقالة ، دعنا نناقش تقنيات مختلفة لإدراج العديد من الصفوف في وقت واحد.

أيضا فيما يلي سنتعرف علي الأمر Insert في اللغة الاستعلامية SQL

 

المتطلبات المسبقة

الافتراض هو أن لديك الإذن التالي لإجراء عملية INSERT على الجدول

  • كذلك عملية INSERT هي الافتراضية لأعضاء دور خادم مسؤول النظام الثابت ودور قاعدة البيانات الثابتة db_owner و db_datawriter ومالك الجدول.
  • يتطلب INSERT باستخدام خيار OPENROWSET BULK أن يكون المستخدم عضوًا في دور خادم ثابت مسؤول النظام أو دور خادم Buladmin الثابت.

 

قواعد:

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

 

 

كيفية إجراء insert إدراج بسيطة

لنبدأ في إدخال البيانات في جدول القسم البسيط هذا.

أولاً ، استخدم اسم الجدول ثم داخل قوس ، اسم الأعمدة ثم اكتب القيم.

لذلك ، قم بتسمية الأعمدة التي سنكتبها في القيم.

على سبيل المثال

CREATE TABLE department
dno INT)
,PRIMARY KEY
,dname VARCHAR(20) NOT NULL
loc VARCHAR(50) NOT NULL

 

يقوم SQL insert التالي في العبارة بإدراج صف في القسم.

كذلك يتم سرد الأعمدة dno و dname و loc وقيم تلك الأعمدة.

أيضا يتم الاحتفاظ بالترتيب بنفس طريقة الأعمدة في الجدول

على سبيل المثال

INSERT INTO department
,dno)
,dname
loc
(
VALUES
,10)
‘,ENGINEERING’
‘New York’
;(

 

كيفية إجراء عملية إدراج بسيطة باستخدام SSMS

يمكن إدراج البيانات في جدول إما باستخدام SQL Server Management Studio (SSMS) أو واجهة المستخدم الرسومية أو من خلال لغة معالجة البيانات في محرر SQL.

يعد استخدام واجهة المستخدم الرسومية في SSMS طريقة سريعة وسهلة لإدخال السجلات مباشرة إلى الجدول.

دعنا نمضي قدمًا ونتصفح جدول القسم وانقر بزر الماوس الأيمن وانتقل لتعديل أهم 200 صف.

الأمر Insert في اللغة الاستعلامية SQL
الأمر Insert في اللغة الاستعلامية SQL

 

لذلك سيظهر هذا نافذة محرر حيث يمكننا التفاعل مباشرة مع البيانات.

لكتابة القيم الجديدة ، انزل إلى الأسفل وابدأ في كتابة القيم.

الأمر Insert في اللغة الاستعلامية SQL
الأمر Insert في اللغة الاستعلامية SQL

 

 

من المفيد جدًا في بعض الحالات التعرف على البيانات التي توشك على إدخالها في الجدول.

 

على سبيل المثال

 *SELECT
;FROM department

كيفية استخدام Insert في عبارة لإضافة صفوف متعددة من البيانات

في SQL Insert التالي في البيان ، تم إدخال ثلاثة صفوف في القسم.

كذلك يتم توفير قيم جميع الأعمدة ويتم سردها بنفس ترتيب الأعمدة في الجدول.

أيضا ، يتم سرد القيم المتعددة وفصلها بواسطة محدد الفاصلة.

 

على سبيل المثال

 

 

كيفية استخدام Insert في عبارة لإضافة بيانات بالقيم الافتراضية

دعونا ننشئ جدولًا بسيطًا للعرض التوضيحي.

لذلك يتم إنشاء جدول مع عمود عدد صحيح معرف بالقيمة الافتراضية 0 وعمود تاريخ ووقت آخر معرف بقيمة الطابع الزمني للتاريخ الافتراضي.

على سبيل المثال

CREATE TABLE demo
,id INT DEFAULT 0)
() hirdate DATETIME DEFAULT GETDATE
;(

لذلك الآن ، دعنا ندرج القيمة الافتراضية في الجدول التوضيحي باستخدام إدراج SQL في العبارة

 

على سبيل المثال

INSERT INTO demo
;DEFAULT VALUES

*SELECT
;FROM demo

 

ملاحظة: إذا تم تحديد جميع أعمدة الجدول بقيم افتراضية ، فحدد جملة القيم الافتراضية لإنشاء صف جديد بكل القيم الافتراضية

أيضا بعد ذلك ، تجاوز القيم الافتراضية للجدول SQL Insert في العبارة.

 

على سبيل المثال

 

أيضا دعنا نفكر في مثال آخر حيث يكون الجدول عبارة عن مزيج من الأعمدة الافتراضية وغير الافتراضية.

 

على سبيل المثال

 

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

 

على سبيل المثال

 

أيضا في المثال التالي ، يمكنك أن ترى أن الكلمة الأساسية DEFAULT تُستخدم لتغذية قيمة إلى الجدول في عبارة القيم مع SQL Insert في العبارة

 

على سبيل المثال

 

كيفية استخدام إدراج لإضافة بيانات إلى جدول عمود الهوية

يوضح المثال التالي كيفية إدراج البيانات في عمود الهوية.

أيضا في العينة ، نتجاوز السلوك الافتراضي (خاصية IDENTITY للعمود) للإدراج باستخدام عبارة SET IDENTITY_INSERT

كذلك إدراج قيمة صريحة في عمود الهوية.

كذلك في هذه الحالة ، يتم إدراج ثلاثة صفوف بالقيم 100 و 101 و 102

 

على سبيل المثال

 

كيفية استخدام جملة SQL Insert لإضافة بيانات من مجموعة بيانات أخرى

في هذا القسم ، سنرى كيفية تسجيل نتائج الاستعلام (التحديد البسيط أو التحديد المركب متعدد الجداول) في جدول آخر.

كذلك يوضح المثال التالي كيفية إدراج البيانات من جدول في جدول آخر باستخدام INSERT… SELECT أو INSERT… EXECUTE أو SELECT * INTO.

أيضا يعتمد كل منها على عبارة SELECT متعددة الجداول التي تتضمن تعبيرًا وقيمة حرفية في قائمة الأعمدة.

 

INSERT… SELECT عبارة

كذلك تستخدم عبارة SQL INSERT الأولى عبارة INSERT… SELECT لاشتقاق الإخراج من جداول المصدر المتعددة مثل قاعدة بيانات Employee و EmployeePayHistory و Department و Person of the AdventureWorks2014 وإدراج مجموعة النتائج في جدول العرض التوضيحي.

يمكنك أن ترى أن المخطط والتعريف قد تم إنشاؤه بالفعل من أجل جملة INSERT INTO SQL

 

على سبيل المثال

 

INSERT…EXECUTE statement

كذلك عبارة INSERT… EXECUTE الثانية ، يتم تنفيذ الإجراء المخزن والذي يحتوي على عبارة SELECT.

أيضا المثال التالي ، يتم إنشاء الجدول tb_spaceused.

 

على سبيل المثال

CREATE TABLE tb_spaceused
,database_name       NVARCHAR(128))
,database_size       VARCHAR(18)
 VARCHAR(18) [unallocated space]
,reserved            VARCHAR(18)
,data                VARCHAR(18)
,index_size          VARCHAR(18)
,unused              VARCHAR(18)
);

 

أيضا تستخدم عبارة INSERT INTO SQL جملة EXECUTE لاستدعاء إجراء مخزن يحتوي على مجموعة نتائج جملة SELECT.

 

على سبيل المثال

 

SELECT * INTO statement

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

 

نسخ المخطط فقط

على سبيل المثال ، قد ترغب في إنشاء هيكل فقط للجدول التجريبي وتسميته demo_ replicate ولا تريد نسخ الصفوف.

لذلك في هذه الحالة ، استخدم شرط FALSE في جملة WHERE (1 <> 2 أو 1 = 0).

 

على سبيل المثال

ملاحظة:

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

نسخ المخطط والبيانات

أيضا ينسخ المثال التالي كلاً من المخطط والبيانات إلى الجدول الهدف.

 

على سبيل المثال

 

ملخص

حتى الآن ، ناقشنا المعايير والقواعد والمبادئ التوجيهية لبيان إدراج SQL.

لذلك نأمل أن تكون استفدت أقصي استفادة من هذه المقالة. الأمر Insert في اللغة الاستعلامية SQL

يمكنك إدراج أي قيم إذا كانت مقترنة بعبارة تحديد وتطابق مع المخطط الهدف.

أيضا تابع سلسلة المقالات الخاصة بقواعد البيانات SQL من خلال مدونة twiintech

كذلك يمكنك طلب الخدمة الاحترافية لقواعد البيانات عن طريق فريق من المهندسين المختصين

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني.