أساسيات SQL

تعرف على DDL و DML و JOINs

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

هذه مقدمة لأساسيات SQL تأخذ نظرة سريعة على بعض الأوامر الرئيسية المستخدمة لإنشاء وتعديل قواعد البيانات.

حول SQL

يعتبر النطق الصحيح لـ SQL مشكلة خلافية داخل مجتمع قاعدة البيانات. في معيار SQL الخاص به ، أعلن المعهد الوطني الأمريكي للمعايير أن النطق الرسمي هو "es queue el." ومع ذلك ، فقد اتخذت العديد من المهنيين قاعدة البيانات إلى "التكملة" العامية. الخيار لك.

مزود يأتي في العديد من النكهات. تستخدم قواعد بيانات أوراكل الخاصة بها PL / SQL. يجعل Microsoft SQL Server استخدام Transact-SQL. وتستند جميع الاختلافات على معيار الصناعة ANSI SQL. تستخدم هذه المقدمة أوامر SQL متوافقة مع ANSI التي تعمل على أي نظام قاعدة بيانات علائقية حديثة.

DDL و DML

يمكن تقسيم أوامر SQL إلى لغتين فرعيتين رئيسيتين. تحتوي لغة تعريف البيانات (DDL) على الأوامر المستخدمة لإنشاء وتدمير قواعد البيانات وكائنات قاعدة البيانات. بعد تعريف بنية قاعدة البيانات باستخدام DDL ، يمكن لمسؤولي قواعد البيانات والمستخدمين استخدام لغة معالجة البيانات (DML) لإدراج البيانات الموجودة بها واستردادها وتعديلها.

أوامر لغة تعريف البيانات

يتم استخدام لغة تعريف البيانات لإنشاء وتدمير قواعد البيانات وكائنات قاعدة البيانات. يتم استخدام هذه الأوامر بشكل أساسي بواسطة مسؤولي قواعد البيانات أثناء مراحل الإعداد والإزالة الخاصة بمشروع قاعدة البيانات. وإليك نظرة على هيكل واستخدام أربعة أوامر DDL الأساسية:

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

خلق موظفين DATABASE

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

CREATE TABLE personal_info (first_name char (20) not null، last_name char (20) not null، employee_id int not null)

ينشئ جدولاً بعنوان "personal_info" في قاعدة البيانات الحالية. في المثال ، يحتوي الجدول على ثلاث سمات: first_name و last_name و employee_id مع بعض المعلومات الإضافية.

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

استخدام الموظفين

من المهم أن تكون دائمًا على وعي بقاعدة البيانات التي تعمل عليها قبل إصدار أوامر SQL التي تعالج البيانات.

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

ALTER TABLE personal_info إضافة أموال الراتب null

يضيف هذا المثال سمة جديدة لجدول personal_info - راتب الموظف. تحدد حجة "النقود" أنه يتم تخزين راتب الموظف باستخدام صيغة بالدولار والسنت. أخيرًا ، تخبر الكلمة الأساسية "خالية" قاعدة البيانات أنه لا بأس لهذا الحقل أن تحتوي على أي قيمة لأي موظف معين.

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

انخفاض الجدول personal_info

وبالمثل ، سيتم استخدام الأمر التالي لإزالة قاعدة بيانات الموظف بالكامل:

DROP DATABASE الموظفين

استخدم هذا الأمر بعناية. يقوم الأمر DROP بإزالة بنيات البيانات بالكامل من قاعدة البيانات الخاصة بك. إذا كنت ترغب في إزالة السجلات الفردية ، فاستخدم الأمر DELETE الخاص بلغة معالجة البيانات.

أوامر لغة معالجة البيانات

يتم استخدام لغة معالجة البيانات (DML) لاسترداد معلومات قاعدة البيانات وإدراجها وتعديلها. يتم استخدام هذه الأوامر من قبل كافة مستخدمي قاعدة البيانات أثناء العملية الروتينية لقاعدة البيانات.

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

INSERT INTO قيم personal_info ('bart' ، 'simpson' ، 12345 ، $ 45000)

لاحظ أن هناك أربع قيم محددة للسجل. هذه تتوافق مع سمات الجدول بالترتيب الذي تم تعريفها به: first_name ، و last_name ، و employee_id ، و الراتب.

تحديد. الأمر SELECT هو الأمر الأكثر استخدامًا في SQL. يسمح لمستخدمي قاعدة البيانات باسترداد المعلومات المحددة التي يرغبون بها من قاعدة بيانات تشغيلية. إلقاء نظرة على بعض الأمثلة ، مرة أخرى باستخدام الجدول personal_info من قاعدة بيانات الموظفين.

يقوم الأمر الموضح أدناه باسترداد جميع المعلومات الموجودة في جدول personal_info. لاحظ أنه يتم استخدام العلامة النجمية كحرف بدل في SQL. هذا يعني حرفيًا "تحديد كل شيء من جدول personal_info".

اختر * من personal_info

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

SELECT last_name FROM personal_info

يمكن استخدام جملة WHERE لتحديد السجلات التي يتم استردادها إلى تلك التي تستوفي المعايير المحددة. قد يكون المدير التنفيذي مهتمًا بمراجعة سجلات الموظفين لجميع الموظفين ذوي الأجور العالية. يقوم الأمر التالي باسترداد كافة البيانات الموجودة داخل personal_info للسجلات التي لها قيمة راتب أكبر من $ 50،000:

SELECT * FROM personal_info WHERE payroll> $ 50000

تحديث. يمكن استخدام الأمر UPDATE لتعديل المعلومات الموجودة داخل جدول ، إما بشكل جماعي أو فردي. افترض أن الشركة تعطي جميع الموظفين زيادة في تكلفة المعيشة بنسبة 3 في المائة في راتبهم سنوياً. يمكن استخدام أمر SQL التالي لتطبيق هذا بسرعة على جميع الموظفين المخزنين في قاعدة البيانات:

UPDATE personal_info SET الراتب = الراتب * 1.03

عندما يوضح الموظف الجديد بارت سيمبسون الأداء فوق مستوى الواجب ، فإن الإدارة ترغب في التعرف على إنجازاته النجمية برفع 5،000 دولار. يمكن استخدام جملة WHERE لاختراع Bart لرفع هذه:

UPDATE personal_info SET الراتب = الراتب + $ 5000 حيث WORDE employee_id = 12345

حذف. أخيرا ، دعونا نلقي نظرة على الأمر DELETE. ستجد أن بناء جملة هذا الأمر مشابه لأوامر DML الأخرى. لسوء الحظ ، لم يكن تقريرنا الأخير عن أرباح الشركات يلبي التوقعات تمامًا ، وقد تم استبعاد بارت الفقير. يمكن استخدام الأمر DELETE مع جملة WHERE لإزالة سجله من الجدول personal_info:

الحذف من personal_info WHERE employee_id = 12345

الصلات

الآن بعد أن تعلمت أساسيات SQL ، حان الوقت للانتقال إلى أحد أقوى المفاهيم التي توفرها اللغة - بيان JOIN. يسمح لك بيان JOIN بدمج البيانات في جداول متعددة لمعالجة كميات كبيرة من البيانات بكفاءة. هذه العبارات هي المكان الذي توجد فيه القوة الحقيقية لقاعدة البيانات.

لاستكشاف استخدام عملية JOIN الأساسية لدمج البيانات من جدولين ، استمر في استخدام المثال باستخدام جدول PERSONAL_INFO وإضافة جدول إضافي إلى المزيج. افترض أن لديك جدول باسم DISCIPLINARY_ACTION تم إنشاؤه باستخدام العبارة التالية:

CREATE TABLE disciplinary_action (action_id int not null، employee_id int not null، comments char (500))

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

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

SELECT personal_info.first_name، personal_info.last_name، disciplinary_action.comments FROM personal_info، disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id و personal_info.salary> 40000

وتحدد الشفرة الجدولين اللذين نرغب في ضمهما في عبارة FROM ، ثم تتضمن بيانًا في جملة WHERE لتحديد النتائج للسجلات التي تطابق أرقام تعريف الموظف ومطابقة معاييرنا للراتب الأكبر من 40،000 دولار.