أهم استعلامات SQL في Python يجب على كل مطور Python معرفتها
نشرت: 2021-01-29يرمز SQL إلى لغة الاستعلام الهيكلية التي تساعد في إدارة قواعد البيانات العلائقية ومعالجتها وتخزينها. تشتمل قاعدة البيانات العلائقية على مجموعات من الجداول المرتبطة بشكل أو بآخر. تسمح لنا الجداول المتعددة بفصل الكيانات المختلفة للمعلومات الهدف وتجنب تجميع مئات الأعمدة في جدول واحد مما قد يجعل من الصعب إدارة قاعدة البيانات.
إنها لغة استعلام وليست قاعدة البيانات نفسها. يمكن إجراء هذه الاستعلامات على أي نظام لإدارة قواعد البيانات العلائقية مثل Oracle و Microsoft SQL Server ، ولكن هناك نهج Pythonic لإنشاء استعلامات SQL وتنفيذها.
جدول المحتويات
سكليتي 3
هذه هي مكتبة Python المدمجة التي تسمح لنا بإنشاء قاعدة بيانات خفيفة دون الحاجة إلى تشغيل نموذج خادم عميل فعلي. يمكن استخدامه داخليًا بواسطة التطبيقات لتخزين البيانات وتنفيذ أوامر SQL. الحزمة سهلة الاستخدام وتسمح بتكرار نفس المخطط في أي قاعدة بيانات قائمة على الإنتاج مثل Postgresql. دعونا نرى كيفية إعداد قاعدة البيانات.
- بيان الاستيراد القياسي:
استيراد sqlite3 كمربع
يتم استيراد المكتبة كاسم مستعار "sq".
- الآن ، نحن بحاجة إلى إنشاء اتصال بقاعدة البيانات. سيخدم كائن الاتصال هذا الغرض:
اتصال = sq.connect (“example.db”)
إذا لم يتم إنشاء هذا الملف من قبل ، فسيتم إنشاؤه بمجرد تنفيذ هذا الأمر.
- للوصول إلى المعلومات وجلبها من قاعدة البيانات ، يجب إنشاء كائن مؤشر.
المؤشر = connect.cursor ()
الآن بعد أن تم الإعداد الأساسي ، يمكننا دفع البيانات إلى قاعدة البيانات عن طريق إنشاء الجداول ذات الصلة ، ولكن قبل ذلك ، دعنا نراجع بعض أوامر SQL.
أوامر أساسية في SQL
SQL ممتازة من حيث الأوامر الإنجليزية المقروءة. عادة ما يتم كتابتها بأحرف كبيرة وليس هناك قيود على ذلك. يتم تطبيق هذا عادةً بحيث يتم تمييز الكلمات الأساسية للاستعلام ، وتصبح مميزة عن سمات الجدول. ولكن نظرًا لأن لدينا الآن IDEs قوية تبرزها بلون مختلف ، فإن أي طريقة ستنجح.
1. إنشاء جدول
هذا يسمح لك بإنشاء البيانات التي تحتوي على كائنات ، والجداول في قاعدة البيانات الخاصة بك. يمكن أن تحتوي قاعدة البيانات على العديد من الجداول بعلاقة واحدة أو عدة علاقات. تحتوي الجداول على رؤوس لكل عمود يصف القيمة التي يحتوي عليها. أثناء إنشاء الجدول ، تحتاج إلى تحديد اسم العمود ونوع البيانات التي سيتضمنها والحجم. يمكنك إضافة سمات أخرى مثل ما إذا كان العمود هو مفتاح أساسي ، ويمكن أن يحتوي على قيم خالية ، وما إلى ذلك.
يمكن إنشاء جدول أساسي على النحو التالي:
إنشاء جدول company_data (
معرف int ،
اسم varchar (24) ،
no_of_employee int
) ؛
2. حدد ومن
كما يوحي الاسم ، يتم استخدامه لتحديد البيانات وجلبها من الجداول. إنها الخطوة الأولى التي تسمح لك بإلقاء نظرة على البيانات. إنه مشابه لوظيفة رأس أو ذيل الباندا.
قد يبدو الاستعلام البسيط باستخدام هذه الأوامر كما يلي:
حدد <اسم (أسماء) العمود>
من <table_name> ؛
لجلب جميع الأعمدة من الجدول ، يمكنك وضع النجمة (*) بدلاً من جميع أسماء الأعمدة. تساعد الكلمة الأساسية LIMIT في تحديد الحد الأقصى لعدد الصفوف. ضع في اعتبارك هذا الاستعلام:
تحديد *
من example_table
الحد 5 ؛
3. أين
يتم استخدام جملة where لتحديد الشروط الإضافية للاستعلام. يمكنك تضمين نطاق الأعمدة ، أو أي مقارنة محددة ، أو النفي.
علي سبيل المثال:
حدد اسم العميل ، اسم الشركة
من company_data
حيث company_name = 'upGrad' ؛
4. أدخل
يتم استخدام هذا البند لإضافة القيم إلى جداول البيانات. يتم إدراج القيم بنفس ترتيب إضافة أسماء الأعمدة إلى الجدول في أمر إنشاء الجدول. يمكن للمرء إدراج عدة صفوف أو واحدة في كل مرة.
على سبيل المثال ، يُدرج الاستعلام أدناه 3 سجلات في جدول:
INSERT INTO company_data (المعرف ، الاسم ، no_of_employees)
القيم

(1 ، "companyz_A"، 100) ،
(2 ، "company_B" ، 200) ،
(3، 'company_C'، 500)؛
التنفيذ عبر بايثون
الآن بعد أن أصبحت على دراية بالأوامر ، حان الوقت لتنفيذها في الكود. حتى الآن نحن متصلون بقاعدة البيانات وأنشأنا كائن المؤشر. سيساعد هذا الكائن في تنفيذ الأوامر في قاعدة البيانات:
cursor.execute ('' '<QUERY>' '')
يتم تمرير الاستعلام كسلسلة وفي علامات الاقتباس الثلاثية. لن ينعكس هذا التغيير في قاعدة البيانات حتى تقوم بتنفيذ هذا التغيير. يضمن إغلاق الاتصال بقاعدة البيانات في النهاية عدم تنفيذ عمليات إعدام جديدة بعد هذه النقطة.
انظر إلى هذا الكود البسيط:
استيراد sqlite3 كمربع
اتصال = sq.connect (“example.db”)
المؤشر = connect.cursor ()
cursor.execute (""
إنشاء جدول 1 (
معرف int ،
اسم فارشار (24)
)
"")
cursor.execute (""
INSERT INTO table1 (المعرف ، الاسم)
القيم
(1 ، "ترقية") ،
(2 ، "مدونات")
"")
cursor.execute (""
تحديد *
من الجدول 1
"")
connect.commit ()
connect.close ()
نصائح مهمة
1. نظرًا لتمرير الاستعلامات كسلاسل ، قد يبدو تعديلها باستخدام سلسلة f خيارًا جيدًا لجعل البرنامج ديناميكيًا ويتحكم فيه المستخدم ، ولكنه قد يتسبب في بعض المشكلات الأمنية مثل هجمات حقن SQL. لتجنب ذلك ، استخدم العنصر النائب "؟" حيثما تريد استبدال بعض القيم في الاستعلام. على سبيل المثال:
cursor.execute ("SELECT؟ FROM؟" "col_name، table_name)
يمكنك أن تطلب من المستخدم تقديم اسم العمود وسيتم استبدال هذه القيمة هنا.
2. استخدم وظائف مثل fetchone () و fetchall () لتكرار النتائج. يقوم Fetchone بإرجاع الصف التالي في الاستعلام وإرجاع جميع الصفوف التي جلبها المؤشر. يتم إرجاع النتائج في شكل tuple بحيث لا يمكن تعديلها بواسطة الوظائف الخارجية في البرنامج.
3. إذا كنت ترغب في إضافة قيم مجمعة إلى قاعدة البيانات ، فيمكنك استخدام الوظيفة التنفيذية () وتمرير قائمة المجموعات التي تحتوي على القيم المراد إضافتها. علي سبيل المثال:
to_add = [(1، 'hello')، (2، 'World')]
cursor.executemany ('INSERT INTO table VALUES (؟،؟)'، to_add)
اقرأ أيضًا: موضوعات وأفكار مشروع Python
تعلم دورات علوم البيانات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
خاتمة
SQL هي لغة قاعدة البيانات الأكثر تفضيلاً وسهلة الفهم. يُنصح معظم المبتدئين في علوم البيانات بممارسة SQL لأنه يحسن عملية استرداد البيانات ويعطي لمحة عن كيفية تنفيذ هندسة البيانات. إنها اللغة القياسية لأي معالجة لقاعدة البيانات وتوفر وصولاً أسرع إلى قاعدة البيانات.
إذا كنت مهتمًا بالتعرف على علوم البيانات ، فراجع دبلوم PG في IIIT-B & upGrad في علوم البيانات والذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1- على - 1 مع موجهين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.
تحدد القيود نوع البيانات التي سيتم إدخالها في الجدول. يتم تحديدها أثناء إنشاء الجدول ويمكن تطبيقها على حقل واحد أو حقول متعددة. القيود في SQL هي: يمكن الإشارة إلى فهرس أو فهرس قاعدة بيانات على أنه جدول بحث خاص يجعل عملية استرداد البيانات أسرع بكثير. يستهلك المزيد من الذاكرة والكتابة الإضافية من أجل البحث في البيانات بشكل أسرع. يمكن أن يتكون الفهرس من 4 أنواع: تُعرف العلاقة بين كيانات متعددة أو كائنات متعددة ملموسة وغير ملموسة لها علاقة ببعضها البعض باسم العلاقة. هناك 4 أنواع من العلاقات في SQL:ماذا تعرف عن القيود في SQL؟
NOT NULL- يمنع إدخال قيمة NULL في حقل.
تحقق- للتحقق مما إذا كانت جميع القيم في الحقل تفي بالشرط المحدد.
افتراضي- لتعيين قيمة افتراضية للحقل تلقائيًا إذا لم يتم إدخال أي قيمة.
فريد- يسمح فقط بإدخال القيم الفريدة في الحقل.
INDEX- فهرسة حقل يوفر سرعة استرداد السجلات.
PRIMARY KEY- يعرّف بشكل فريد كل سجل في الجدول.
FOREIGN KEY- قيود الإجراءات التي يمكن أن تضر الروابط بين الجداول. شرح الفهرس وأنواعه؟
1. فهرس فريد
2. مؤشر غير فريد
3. الفهرس العنقودي ما هي العلاقة في SQL وما هي أنواعها؟
1. واحد لواحد
2. رأس بأطراف / أطراف بأطراف
3. كثير إلى كثير
4. العلاقات المرجعية الذاتية.