কম্পিউটার টিউটোরিয়াল

পাইথন টাপল দিয়ে SQL IN কোয়েরি লিখা

SQL IN কোয়েরিতে পাইথন টাপল ব্যবহার করতে হলে প্লেসহোল্ডার (? বা %s) ডাইনামিক্যালি জেনারেট করতে হয় SQL ইনজেকশন প্রতিরোধে।

উদাহরণ (SQLite / ? প্লেসহোল্ডার)

my_tuple = ("Hello", "world", "John")
placeholder = '?'
placeholders = ', '.join(placeholder for _ in my_tuple)
query = 'SELECT name FROM students WHERE id IN (%s)' % placeholders
print(query)

# এক্সিকিউট
cursor.execute(query, my_tuple)

আউটপুট

SELECT name FROM students WHERE id IN (?, ?, ?)

PostgreSQL / %s প্লেসহোল্ডার

import psycopg2

my_tuple = (1, 2, 3)
placeholders = ', '.join(['%s'] * len(my_tuple))
query = f'SELECT * FROM users WHERE id IN ({placeholders})'
cursor.execute(query, my_tuple)

গুরুত্বপূর্ণ নিরাপত্তা নিয়ম

  • কখনোই স্ট্রিং ফরম্যাটিং (f"... IN {tuple}") ব্যবহার করবেন না — SQL ইনজেকশন হয়
  • সদা প্যারামিটারাইজড কোয়েরি (cursor.execute(query, params)) ব্যবহার করুন
  • ড্রাইভার অনুযায়ী প্লেসহোল্ডার: SQLite/?, PostgreSQL/%s, MySQL/%s
  1. পাইথনে স্ট্রিং ফরম্যাটিং: % বনাম .format তুলনা

  2. পাইথন টাপলকে ডিকশনারিতে রূপান্তর করার পদ্ধতি

  3. পাইথনে টাপলের ভিতরে টাপল ব্যবহার করার পদ্ধতি

  4. পাইথন ফাংশন থেকে টাপল রিটার্ন করার পদ্ধতি