TinyDB তে Query এর ধারণা

TinyDB এর বেসিক Query এবং Data Filtering - টাইনিডিবি (TinyDB) - Database Tutorials

349

TinyDB-তে Query হলো ডেটাবেস থেকে ডেটা অনুসন্ধান, ফিল্টার, আপডেট বা মুছে ফেলার একটি শক্তিশালী পদ্ধতি। এটি নির্দিষ্ট শর্ত (conditions) অনুযায়ী ডেটা খুঁজে বের করার জন্য ব্যবহার করা হয়। Query TinyDB-র একটি গুরুত্বপূর্ণ উপাদান, যা ব্যবহারকারীদের ডেটাবেস পরিচালনা করতে সহজ করে তোলে।


Query কীভাবে কাজ করে?

  • Query Object: TinyDB-তে একটি Query Object তৈরি করতে হয়, যা শর্ত অনুযায়ী ডেটা ফিল্টার করে।
  • শর্তাবলী: শর্তাবলী (conditions) তৈরি করার জন্য তুলনামূলক অপারেটর যেমন ==, !=, <, >, ইত্যাদি ব্যবহার করা হয়।
  • ডেটা অনুসন্ধান: Query Object ব্যবহার করে ডেটা পড়া, আপডেট করা এবং মুছে ফেলা সম্ভব।

Query Object তৈরি

TinyDB-তে Query Object তৈরি করার জন্য Query ক্লাস ব্যবহার করা হয়।

from tinydb import Query

User = Query()

উপরের কোডে User হলো একটি Query Object, যা ডেটা ফিল্টার করার জন্য ব্যবহৃত হবে।


Query এর মাধ্যমে ডেটা অনুসন্ধান

search() পদ্ধতি ব্যবহার করে ডেটা অনুসন্ধান করা যায়। উদাহরণস্বরূপ:

from tinydb import TinyDB, Query

# ডাটাবেস তৈরি
db = TinyDB('db.json')

# ডেটা যোগ করা
db.insert({'name': 'Aziz', 'age': 25, 'city': 'Dhaka'})
db.insert({'name': 'Mehedi', 'age': 22, 'city': 'Chittagong'})

# Query Object তৈরি
User = Query()

# নাম অনুসারে ডেটা অনুসন্ধান
result = db.search(User.name == 'Aziz')
print(result)

আউটপুট:

[{'name': 'Aziz', 'age': 25, 'city': 'Dhaka'}]

Query এর মাধ্যমে ডেটা আপডেট

update() পদ্ধতি ব্যবহার করে নির্দিষ্ট শর্তের ভিত্তিতে ডেটা আপডেট করা যায়।

db.update({'age': 26}, User.name == 'Aziz')

উপরের উদাহরণে, যেসব ডকুমেন্টে name ফিল্ডের মান 'Aziz' আছে, সেগুলোর age ফিল্ড আপডেট করে 26 করা হবে।


Query এর মাধ্যমে ডেটা মুছে ফেলা

remove() পদ্ধতি ব্যবহার করে ডেটা মুছে ফেলা যায়।

db.remove(User.city == 'Chittagong')

উপরের উদাহরণে, যেসব ডকুমেন্টে city ফিল্ডের মান 'Chittagong' আছে, সেগুলো ডাটাবেস থেকে মুছে ফেলা হবে।


Query এর মাধ্যমে শর্তাবলী (Conditions)

TinyDB-তে নিম্নলিখিত অপারেটর ব্যবহার করে শর্ত নির্ধারণ করা যায়:

অপারেটরউদ্দেশ্যউদাহরণ
==সমানUser.name == 'Aziz'
!=সমান নয়User.age != 30
<ছোটUser.age < 25
>বড়User.age > 25
<=ছোট বা সমানUser.age <= 25
>=বড় বা সমানUser.age >= 25
existsফিল্ডটি উপস্থিত কিনাUser.city.exists()
matchesপ্যাটার্ন ম্যাচ করে কিনাUser.name.matches(r'^A.*')

উদাহরণ: জটিল শর্ত ব্যবহার

TinyDB-তে একাধিক শর্ত যোগ করার জন্য logical operators (&, |, ~) ব্যবহার করা যায়।

# নাম 'Aziz' এবং শহর 'Dhaka' হলে
result = db.search((User.name == 'Aziz') & (User.city == 'Dhaka'))

# বয়স ২০ বছরের বেশি বা শহর 'Chittagong' হলে
result = db.search((User.age > 20) | (User.city == 'Chittagong'))

# শহর 'Dhaka' না হলে
result = db.search(~(User.city == 'Dhaka'))

সারাংশ

  • Query TinyDB-তে ডেটা ফিল্টার এবং পরিচালনার জন্য ব্যবহৃত একটি পদ্ধতি।
  • এটি search(), update(), এবং remove() এর মাধ্যমে ডেটা পরিচালনা করে।
  • শর্তাবলী নির্ধারণের জন্য বিভিন্ন অপারেটর এবং লজিক্যাল কন্ডিশন ব্যবহার করা যায়।
  • Query এর সাহায্যে ছোট থেকে মাঝারি আকারের ডেটাবেস সহজেই ম্যানেজ করা সম্ভব।

TinyDB-তে Query ডেটা পরিচালনাকে সহজ, কার্যকর এবং দ্রুততর করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...