إنشاء جدول SQL Server وتعديله وإسقاطه [أمثلة T-SQL]

⚡ ملخص ذكي

تخزن جداول SQL Server البيانات في صفوف وأعمدة. يستخدم Transact-SQL الأمر CREATE TABLE لإنشاء جدول، والأمر ALTER TABLE لإضافة أو تغيير الأعمدة، والأمر DROP TABLE لحذف الجدول وبياناته وبنيته.

  • 🧱 ما هو الجدول؟ يخزن الجدول البيانات في صفوف وأعمدة، وهو الكائن الأساسي لحفظ البيانات في قاعدة البيانات.
  • 🛠️ اصنع جدول: تحدد عبارة CREATE TABLE كل عمود باسم ونوع بيانات وإعداد NULL أو NOT NULL.
  • 📋 إنشاء من الموجود: تقوم عبارة SELECT … INTO بنسخ الأعمدة والصفوف المختارة من جدول موجود إلى جدول جديد تمامًا.
  • ➕ تغيير الجدول: يقوم الأمر ALTER TABLE … ADD بإضافة أعمدة جديدة إلى جدول دون إعادة إنشائه.
  • 🗑️ حذف الجدول: يؤدي الأمر DROP TABLE إلى إزالة الجدول بأكمله، بما في ذلك بياناته وهيكله.
  • 🖱️ مصمم الطاولات: يمكن لبرنامج SQL Server Management Studio أيضًا إنشاء الجداول وتعديلها بصريًا من خلال مصمم الجداول.

إنشاء وتعديل وحذف الجداول في SQL Server باستخدام أمثلة T-SQL

ما هو الجدول؟

الجدول هو كائن في ملقم SQL يخزن البيانات بتنسيق صفوف وأعمدة. يوضح الرسم البياني أدناه الصفوف والأعمدة على التوالي.

رسم تخطيطي لجدول يخزن البيانات في صفوف وأعمدة

كيفية إنشاء جدول في SQL Server باستخدام T-SQL

تتمثل الخطوة الأولى لتخزين البيانات في إنشاء جدول في قاعدة بيانات حيث ستُخزَّن البيانات. بعد إنشاء الجدول، يمكنك الاستمرار في إدراج الصفوف فيه.

يمكنك إنشاء جدول بالطرق التالية:

  • T-SQL: إنشاء جدول جديد عن طريق تحديد جميع الأعمدة ونوع بياناتها.
  • لغة T-SQL: إنشاء جدول جديد باستخدام جدول موجود.
  • باستخدام مصمم الجداول.

دعونا ندرس هذا بالتفصيل.

لغة T-SQL: إنشاء جدول جديد عن طريق تحديد جميع الأعمدة ونوع بياناتها

فيما يلي صيغة إنشاء جدول في SQL Server.

بناء الجملة:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

هنا،

  • تشير المعلمة tableName إلى اسم الجدول الذي ستقوم بإنشائه.
  • تشير المعلمات column_1، column_2... إلى الأعمدة التي سيتم إضافتها إلى الجدول.
  • يجب تحديد قيمة العمود إما كـ NULL أو NOT NULL. إذا لم تحدد القيمة، فسيعتبر SQL Server القيمة NULL افتراضياً.

لنقم بإنشاء جدول أساسي بعمودين.

الاستعلام:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

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

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

لا يُظهر مستكشف الكائنات أي جدول دورات قبل تنفيذ عبارة الإنشاء.

بعد تشغيل الاستعلام، انقر فوق زر التحديث؛ الجدول الجديد موجود الآن باسم Course، كما هو موضح أدناه.

جدول المقررات الدراسية مُدرج في مستكشف الكائنات بعد التنفيذ والتحديث

الخطوة 2) أدخل بعض البيانات. تُظهر لقطات الشاشة أدناه جدول الدورات التدريبية الذي تم إنشاؤه حديثًا وهو جاهز لاستقبال الصفوف.

تم تحديد جدول الدورات التدريبية الذي تم إنشاؤه حديثًا في مستكشف الكائنات قبل إدخال البيانات

هيكل جدول المقرر الدراسي مع عموديه الموضحين قبل إدخال البيانات

حتى الآن، الجدول موجود فقط، ولكن لا توجد بيانات فيه بعد.

توفر لغة Transact-SQL عبارة INSERT لإدراج البيانات في جدول. باستخدام هذه العبارة، يمكنك إدراج صف واحد أو أكثر في الجدول.

بناء الجملة:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

يوضح التركيب النحوي أعلاه الشكل الأساسي للأمر عند استخدام الكلمة المفتاحية VALUES لإدراج البيانات في جدول.

لنقم بإدراج أربعة صفوف باستخدام أمر الإدراج (INSERT).

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

تُظهر اللقطة أدناه أن عملية إدراج أربعة صفوف قد تمت بنجاح.

لوحة الرسائل تؤكد إدراج أربعة صفوف في جدول المقرر الدراسي

الخطوة 3) استخدم عبارة SELECT لعرض البيانات. لعرض البيانات في SQL Server، استخدم الصيغة التالية:

SELECT expression
FROM tableName
[WHERE condition];

مثال للاستعلام:

SELECT * FROM COURSE;

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

شبكة النتائج التي تعرض صفوف الدورات التدريبية الأربعة التي تم إرجاعها بواسطة SELECT

لغة T-SQL: إنشاء جدول جديد باستخدام جدول موجود

لنفترض أنك تريد جدولًا آخر مثل جدول COURSE الذي تم إنشاؤه أعلاه، ولكنك تحتاج فقط إلى عمود Course_Name وليس Course_ID.

بناء الجملة:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

مثال للاستعلام:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

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

تم إنشاء جدول COURSE_NAMES جديد من جدول موجود باستخدام SELECT INTO

مثال للاستعلام:

SELECT * FROM COURSE_NAMES;

تُظهر النتيجة أدناه سجلات Course_Name الأربعة في جدول COURSE_NAMES الجديد.

شبكة النتائج التي تعرض قيم Course_Name في جدول COURSE_NAMES

باستخدام مصمم الجدول

يمكنك أيضًا إنشاء جدول من مزود خدمة إدارة ستوديو بيئة تطوير متكاملة تستخدم مصمم الجداول.

الخطوة 1) انقر بزر الماوس الأيمن على جدول > جديد > جدول، كما هو موضح أدناه.

انقر بزر الماوس الأيمن على "جدول" ثم "جديد" ثم "جدول" في مستكشف الكائنات

الخطوة 2) أدخل أسماء الأعمدة و أنواع البياناتوحدد ما إذا كان كل عمود يسمح بقيم فارغة.

شريط أدوات مصمم الجداول لتعريف جدول جديد

شبكة مصمم الجداول مع أسماء الأعمدة وأنواع البيانات وخيارات السماح بالقيم الفارغة

الخطوة 3) اضغط على CTRL+S لحفظ الجدول، وأدخل الاسم كـ Course_Title.

اختر اسم الجدول الجديد من مربع الحوار لحفظه باسم Course_Title

بعد النقر على "تحديث"، يظهر الجدول الجديد باسم Course_Title وعمود واحد باسم Course_Name، كما هو موضح أدناه.

جدول Course_Title يحتوي على عمود Course_Name واحد في مستكشف الكائنات

تغيير الجدول في SQL Server

هناك طريقتان لتعديل جدول في SQL Server:

  • لغة T-SQL: قم بتعديل الجدول عن طريق إضافة أعمدة جديدة.
  • باستخدام مصمم الجداول.

T-SQL: تغيير الجدول عن طريق إدراج الأعمدة

فيما يلي صيغة أمر ALTER في لغة SQL:

بناء الجملة:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

الاستعلام:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

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

عبارة ALTER TABLE ADD لإضافة عمود Course_Duration

أعمدة عنوان الدورة التدريبية، بما في ذلك عمود مدة الدورة التدريبية المضاف حديثًا

باستخدام مصمم الجدول

يمكنك أيضًا تعديل جدول من واجهة المستخدم باستخدام مصمم الجداول.

الخطوة 1) انقر بزر الماوس الأيمن على الجدول الموجود > تصميم، كما هو موضح أدناه.

انقر بزر الماوس الأيمن على جدول Course_Title واختر تصميم

الخطوة 2) أضف اسم العمود باسم Course_Start_Date وحدد نوع بياناته.

إضافة عمود تاريخ بدء الدورة ونوع بياناته في مصمم الجداول

الخطوة 3) اضغط على CTRL+S لحفظ العمود المُضاف حديثًا. سيتم إنشاء عمود جديد باسم Course_Start_Date في جدول Course_Title، كما هو موضح أدناه.

جدول Course_Title الذي يعرض عمود Course_Start_Date المحفوظ

حذف الجدول في SQL Server

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

هناك طريقتان لحذف جدول في SQL Server:

  • باستخدام برنامج إدارة SQL Server.
  • T-SQL: حذف الجدول باستخدام DROP TABLE.

باستخدام SQL Server Management Studio

الخطوة 1) انقر بزر الماوس الأيمن على الجدول الموجود > حذف، للجدول المسمى Course_Title، كما هو موضح أدناه.

انقر بزر الماوس الأيمن على جدول Course_Title واختر حذف

الخطوة 2) في نافذة حذف الكائن، انقر فوق موافق.

نافذة تأكيد حذف الكائن مع زر "موافق"

تم الآن حذف جدول Course_Title من قائمة الجداول، كما هو موضح أدناه.

قائمة جداول مستكشف الكائنات بعد حذف جدول Course_Title

T-SQL: حذف الجدول

فيما يلي صيغة حذف جدول.

بناء الجملة:

DROP TABLE <tableName>;

المعلمة tableName هي اسم الجدول الذي سيتم حذفه.

الاستعلام:

DROP TABLE COURSE_NAMES;

الخطوة 1) قم بتشغيل الاستعلام بالنقر على "تنفيذ". سيتم حذف جدول COURSE_NAMES من قائمة الجداول، كما هو موضح أدناه.

عبارة DROP TABLE لحذف جدول COURSE_NAMES

قائمة جداول مستكشف الكائنات بعد حذف جدول أسماء الدورات

بدلاً من ذلك، يُظهر المصدر أمر DELETE TABLE الذي يهدف إلى إزالة الصفوف (البيانات) فقط مع الحفاظ على بنية الجدول سليمة، بحيث يمكن إعادة استخدام الجدول لاحقًا.

بناء الجملة:

DELETE TABLE <Table name>;

ملاحظة: في لغة T-SQL القياسية، يتم حذف الصفوف باستخدام DELETE FROM <table>ويتم إفراغ الطاولة بسرعة مع TRUNCATE TABLE <table>يتم حذف الجدول بأكمله باستخدام الأمر DROP TABLE، كما هو موضح أعلاه.

حقائق مثيرة للاهتمام!

  • يمكن تخزين الملفات الكبيرة مثل ملفات XML أو الصور في عمود باستخدام أنواع بيانات الكائنات الكبيرة مثل VARBINARY(MAX) أو VARCHAR(MAX) أو نوع XML (لا يستخدم SQL Server هذا النوع). Oracleأسماء BLOB و CLOB بنمط (-style).
  • يقوم الأمر DELETE بإزالة الصفوف فقط ويمكن التراجع عنه داخل معاملة، بينما يقوم الأمر DROP بإزالة بنية الجدول بأكملها؛ في SQL Server، حتى الأمر DROP يمكن التراجع عنه عند تشغيله داخل معاملة صريحة.

الأسئلة الشائعة

يحذف الأمر DELETE الصفوف المحددة ويتم تسجيل العملية بالكامل. أما الأمر TRUNCATE فيحذف جميع الصفوف بسرعة ويعيد تعيين قيم الهوية. بينما يحذف الأمر DROP الجدول بأكمله، بما في ذلك البيانات والبنية. في SQL Server، يمكن التراجع عن جميع هذه الأوامر الثلاثة ضمن معاملة واحدة.

استخدم الأمر DROP TABLE IF EXISTS table_name، المتوفر منذ SQL Server 2016. يقوم هذا الأمر بحذف الجدول إذا كان موجودًا، ولا يقوم بأي إجراء إذا لم يكن موجودًا، مما يمنع حدوث خطأ. في الإصدارات الأقدم، تحقق من OBJECT_ID قبل حذف الجدول.ping.

لا يحتوي SQL Server على عبارة RENAME TABLE. بدلاً من ذلك، قم بتشغيل الإجراء المخزن sp_rename، على سبيل المثال EXEC sp_rename 'old_name', 'new_name'. قم بتحديث طرق العرض والإجراءات والتعليمات البرمجية التابعة بعد ذلك، لأن sp_rename لا يغير تلك المراجع تلقائيًا.

نعم. يُغيّر الأمر ALTER TABLE table ALTER COLUMN column new_type نوع بيانات العمود، بينما يُزيله الأمر ALTER TABLE table DROP COLUMN column. ينجح التغيير فقط عند توافق البيانات الموجودة، لذا اختبر التحويلات واحفظ نسخة احتياطية أولًا.

حدد القيود داخل أمر إنشاء الجدول (CREATE TABLE)، مثل Course_ID INT PRIMARY KEY، أو أضفها لاحقًا باستخدام أمر ALTER TABLE ADD CONSTRAINT. المفتاح الأساسي يفرض التفرد، بينما المفتاح الخارجي يربط الصفوف عبر الجداول.

يتم إنشاء جدول مؤقت، يبدأ اسمه بالرمز #، في قاعدة بيانات tempdb ويُحذف تلقائيًا عند انتهاء الجلسة. أما الجدول العادي فيبقى دائمًا حتى يتم حذفه. تُناسب الجداول المؤقتة النتائج الوسيطة قصيرة الأجل داخل دفعة أو إجراء.

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

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

تلخيص هذه التدوينة بـ: