لغة SQL وماذا تقدم
SQL هي اختصارٌ لـ Structured Query language وترجمتها هي “لغة الاستعلام البنائية” وتنطق بطريقتيْن؛ إما حرفًا حرفًا S Q L، أو تنطق كلمة واحدة “سيكيوال”.
لغة SQL هي لغة ذات غرض متخصص هدفها إعطاء القدرة على إدارة البيانات الموجودة في قواعد البيانات العلاقية والتعامل معها، وتخضع هذه اللغة لمعايير دولية متفق عليها، ويقوم المعهد الوطني الأمريكي للمعايير (ANSI) بإدارة وإصدار المعايير الخاصة ب SQL.

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

تستطيع باستخدام لغة SQL أن تقوم بالتالي:

الاستعلام عن البيانات وجلبها من قاعدة البيانات.
إضافة، تعديل السجلات في قاعدة البيانات وحذفها منها.
الحفاظ على سلامة ودقة البيانات في قاعدة البيانات.
تحديد الصلاحيات والأذونات الخاصة بمستخدمي قاعدة البيانات.
تنقسم جمل وأوامر SQL إلى ثلاث مجموعات، وذلك حسب الدور الذي يقوم به الأمر:

لغة التعامل مع البيانات Data Manipulation Language: تحتوي هذه المجموعة على جمل غرضها إعطاء القدرة على التعامل مع البيانات دون التأثير على هيكليتها وشكلها العام، بحيث تستطيع الاستعلام عن البيانات، إضافة سجلّات، حذفها أو تعديلها.
لغة تعريف البيانات Data Definition Language: تُقدم الأوامر التي تندرج تحت هذه المجموعة القدرة على تعريف البيانات وشكلها وطريقة ربطها ببعضها عبر استخدام أوامر لإنشاء الجداول وإنشاء قاعدة البيانات.
لغة التحكم بالبيانات Data Control Language: تساعد هذه المجموعة من الأوامر في تحديد الصلاحيات التي يمكن منحها أو سلبها من المستخدمين الموجودين في قاعدة البيانات.
يسرد الجدول التالي أهم الأوامر التي تُمَكّن المبرمج من إنشاء قاعدة البيانات الخاصة به وتنفيذ الجمل الخاصة بإدارتها وإدارة بياناتها.
01_sql_commands.png
جملة إنشاء قاعدة البيانات
يُعد إنشاء الجدول في قاعدة البيانات أول الخطوات في طريق بناء قاعدة البيانات وملئها بالسجلات، وهذا الأمر يقوم به مسؤول قواعد البيانات أو المبرمج على حد سواء.

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

في سطر أوامر MySQL يُنفَّذ الأمر بالطريقة التالية:

USE database_name;
في سطر أوامر PostgreSQL:

\connect DBNAME
الصيغة العامة لجملة إنشاء الجدول في SQL:

CREATE TABLE table_name (
column1 datatype [constraint],
column2 datatype [constraint],
column3 datatype [constraint],
....
);
شرح الصيغة:

CREATE TABLE table_name (
CREATE تعني إنشاء العنصر (الجدول هنا) وهي بداية الأمر.
TABLE لتحديد أن هذه الجملة لإنشاء جدول.
table_name وهو الاسم الذي نريد إطلاقه على الجدول الجديد الذي نريد بناءه.
القوس المفتوح باتجاه اليسار يعني البدء بكتابة هيكل الجدول والذي يتضمن الأعمدة ونوعها والقيود التي من الممكن أن نضيفها وبعض الإعدادات الأخرى.
column1 datatype [constraint],
column1: هو الاسم الذي سوف نعطيه للعمود الأول.
Datatype:يعني نوع العمود (نصي, رقم, تاريخ. الخ).
[Constraint]:تعني – اختيارياً - تستطيع تحديد قيود على مستوى هذا العمود (سنتكلم لاحقا بالتفصيل عن القيود).
الفاصلة تعني وجود عمود آخر سوف نعرّفه بعد هذا العمود.
عند كتابة العمود الأخير لا نضيف فاصلة، ومن ثم نضيف القوس المعاكس للقوس الذي فُتح عند بداية كتابة الأعمدة، ونختم الأمر بقاصلة منقوطة.
ملاحظات هامة

تبدأ أسماء الجداول والأعمدة عموما بحرف وليس برقم (بعض نظم إدارة قواعد البيانات تسمح بذلك)، ومن الممكن أن تُتبع بعد ذلك بالأرقام.
يُفضَّل ألا يتجاوز طول اسم الجدول أو العمود30 محرفا Characters، حيث إن بعض النظم تمنع أن تتجاوز ذلك مثل نظام إدارة قواعد البيانات أوراكل.
يجب ألا تُستخدَم كلمات محجوزة في تسمية الجدول أو العمود.
جملة تعديل الجدول
بعد أن تكلمنا عن جملة إنشاء الجدول، يجب علينا توضيح جملة تعديل الجدول بعد إنشائه، حيث إن إجراء عمليات التغيير على الجدول يُعد أمراً مهما للمبرمج ومسؤول قواعد البيانات إذ يُنفَّذ باستمرار أثناء وفي بداية بناء النظم البرمجية والبرامج نظرا لتغير المتطلبات وعدم اكتمالها.

تُستخدَم جملة تعديل الجدول Alter Table عموما في الحالات التالية:

إضافة عمود للجدول.
حذف عمود من الجدول.
تغيير نوع عمود في الجدول.
إضافة قيد على العمود.
حذف قيد عن العمود.
نسرُد في ما يلي الصيغ العامة لجملة تعديل الجدول.

إضافة عمود
ALTER TABLE table_name ADD column_name datatype;
حذف عمود
ALTER TABLE table_name DROP COLUMN column_name;
تعديل عمود
ALTER TABLE table_name MODIFY | ALTER COLUMN column_name datatype;
إنشاء جداول وتعديلها


من العمود PersonID الذي هو من النوع int، أي أن قيم هذا العموم يجب أن تكون أرقامًا؛
الأعمدة City، Last_Name، First_Name وAddressالتي هي من النوع varchar، أي سلسلة محارف، بطول 255 محرفا.
بعد تنفيذ جملة إنشاء الجدول السابقة، ينتج لدينا جدول فارغ بالشكل التالي: