طرق ذكية لاستخدام سلسلة سلسلة SQL

طرق ذكية لاستخدام سلسلة سلسلة SQL

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





هناك العديد من لهجات SQL المختلفة. لكل هذه الأمثلة ، أستخدم امتداد PostgreSQL البديل.





ما مدى سخونة وحدة المعالجة المركزية الخاصة بي

ما هو التسلسل؟

التسلسل يعني ضم شيئين معًا. ربما تكون قد استخدمتها في لغة برمجة لربط سلسلتين معًا. ربما يكون لديك متغيرات الاسم الأول واللقب التي جمعتها معًا كمتغير للاسم الكامل.





يعتبر التسلسل طريقة مفيدة للغاية لدمج سلسلتين في سلسلة واحدة. بي أتش بي يستخدم نقطة كاملة لربط السلاسل معًا ، بينما جافا سكريبت و jQuery استخدم علامة الجمع.

يعمل التسلسل في SQL بنفس الطريقة تمامًا. يمكنك استخدام عامل تشغيل خاص لضم شيئين في عنصر واحد. هنا مثال في كود مزيف :



first_name = Joe
last_name = Coburn
whole_name = first_name + last_name

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

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





كيف تسلسل

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

بالعودة إلى مثال الاسم لدينا ، إليك أساسيات تحديد استفسار:





SELECT first_name, last_name, email FROM users_table

لا يوجد شيء معقد هنا ، لذا دعنا نضيف التسلسل:

SELECT first_name || last_name AS full_name, email FROM users_table

كما ترى ، نجح هذا التسلسل بشكل مثالي ، لكن هناك مشكلة صغيرة واحدة. تم تجميع الاسم الكامل الناتج معًا تمامًا مثل منتج كلا العمودين - يجب أن تكون هناك مسافة بين الأسماء!

لحسن الحظ ، من السهل إصلاح ذلك: ببساطة ضع مسافة بين الاثنين:

SELECT first_name || ' ' || last_name AS full_name, email FROM users_table

هذه أمثلة أساسية ، ولكن يجب أن ترى كيف يعمل التسلسل - إنه حقًا بهذه السهولة! مشغل الأنابيب ( | ) مرتين بين الجمل. يعرف محرك SQL الخاص بك أن كل جزء قبل هذا الرمز وبعده يجب ضمه معًا ومعاملته على أنه واحد. كن حذرًا ، إذا كنت تستخدم عامل التشغيل concat ولكن لا تسلسل أي شيء ، فستحصل على خطأ.

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

الذهاب أعمق

الآن بعد أن تعرفت على الأساسيات ، دعنا نلقي نظرة على بعض الأمثلة المتعمقة ، جنبًا إلى جنب مع بعض المخاطر الشائعة.

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

SELECT first_name || ' ' || last_name || ARRAY[123, 456] AS full_name, email FROM users_table

هذا الرمز لن يعمل. لا يمكن الجمع بين سلاسل مع كائنات معقدة مثل المصفوفات. إذا كنت تفكر في ما عليك القيام به ، يمكنك غالبًا كتابة تعليمات برمجية بسيطة تعمل ، بدلاً من كتابة تعليمات برمجية معقدة ومجنونة تفشل في التشغيل.

إذا كنت قد فكرت مليًا في ما عليك القيام به ، وما زلت لا تستطيع تشغيل SQL ، فهل فكرت في استخدام لغة برمجة؟ بصفتي مطور برامج يعمل على رمز قديم ، أعرف ألم محاولة تصحيح أخطاء SQL التي حشر شخص ما فيها الكثير من المنطق ، إنه أمر عجيب أنه يعمل على الإطلاق - إذا كنت تحاول كتابة منطق في SQL ، فانتقل إلى لغة البرمجة (هناك الكثير من اللغات سهلة التعلم).

يعمل التسلسل بشكل جيد للغاية مع أين العبارات أيضًا:

SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR')::date

هناك بعض الأشياء التي تحدث هنا. في هذا المثال، يوم و شهر ، و عام هي المعلمات التي تم تمريرها من البرنامج النصي. ربما تم إنشاؤها بواسطة رمز ، أو تم إدخالها بواسطة مستخدم. يتم تجميعها معًا ، ثم تحويلها إلى نوع التاريخ (باستخدام بنية PostgreSQL cast to date ::تاريخ ).

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

مأزق آخر يجب الانتباه إليه هو باطل القيم (السلسلة الفارغة هي سلسلة فارغة أو غير موجودة). بالنظر إلى هذا الاستعلام:

SELECT first_name || ' ' || NULL AS full_name, email FROM users_table

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

إذا كنت تعتقد أن البيانات التي يعرضها استعلامك قد تكون فارغة ، فستحتاج إلى استخدام ملف تتحد . يمكن اعتبار الاندماج تقريبًا على أنه 'إذا كان هذا فارغًا ، فاستبدله بهذه السلسلة أو العمود الآخر':

SELECT first_name || ' ' || COALESCE(NULL, 'ERROR NULL DATA') AS full_name, email FROM users_table

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

مهما فعلت ، أخبرنا في التعليقات أدناه!

تطبيقات لإضافة حدود للصور
يشارك يشارك سقسقة بريد الالكتروني 6 بدائل مسموعة: أفضل تطبيقات الكتب الصوتية المجانية أو الرخيصة

إذا كنت لا ترغب في الدفع مقابل الكتب الصوتية ، فإليك بعض التطبيقات الرائعة التي تتيح لك الاستماع إليها مجانًا وبشكل قانوني.

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • برمجة
  • SQL
نبذة عن الكاتب جو كوبيرن(تم نشر 136 مقالاً)

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

المزيد من Joe Coburn

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك