Skill

TinyDB তে ডেটা আপডেট এবং ডিলিট করা

টাইনিডিবি (TinyDB) - Database Tutorials

398

TinyDB-তে ডেটা আপডেট এবং ডিলিট করার জন্য খুবই সহজ এবং সরল মেথড সরবরাহ করা হয়েছে। এটি ডেটা ম্যানেজমেন্টকে দ্রুত এবং কার্যকর করে তোলে। TinyDB-তে এই কাজগুলো করার জন্য update() এবং remove() মেথড ব্যবহার করা হয়।


ডেটা আপডেট করা

ডেটা আপডেট করার জন্য TinyDB-তে update() মেথড ব্যবহার করা হয়। এই মেথডটি নির্দিষ্ট শর্ত পূরণকারী ডেটা খুঁজে সেটি আপডেট করে।

উদাহরণ

from tinydb import TinyDB, Query

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

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

# ডেটা আপডেট করা
User = Query()
db.update({'age': 31}, User.name == 'Rahim')  # Rahim এর age আপডেট

# আপডেট হওয়া ডেটা দেখতে
print(db.all())

আউটপুট

[{'name': 'Rahim', 'age': 31, 'city': 'Dhaka'}, {'name': 'Karim', 'age': 25, 'city': 'Chittagong'}]

নির্দিষ্ট ক্ষেত্রে ডেটা আপডেট

একাধিক ফিল্ড আপডেট করা সম্ভব:

db.update({'age': 26, 'city': 'Sylhet'}, User.name == 'Karim')

ডেটা মুছে ফেলা

ডেটা মুছে ফেলার জন্য remove() মেথড ব্যবহার করা হয়। এটি নির্দিষ্ট শর্ত পূরণকারী ডেটা ডিলিট করে।

উদাহরণ

from tinydb import TinyDB, Query

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

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

# ডেটা মুছে ফেলা
User = Query()
db.remove(User.name == 'Rahim')  # Rahim এর ডেটা ডিলিট

# ডিলিট হওয়া ডেটা বাদে বাকি ডেটা দেখতে
print(db.all())

আউটপুট

[{'name': 'Karim', 'age': 25, 'city': 'Chittagong'}]

একাধিক ডেটা মুছে ফেলা

যদি শর্ত অনুযায়ী একাধিক ডেটা থাকে, সেগুলোও মুছে ফেলা সম্ভব:

db.remove(User.city == 'Dhaka')  # Dhaka এর সব ডেটা ডিলিট

সব ডেটা মুছে ফেলা

টেবিলের সব ডেটা মুছে ফেলার জন্য truncate() বা clear() মেথড ব্যবহার করা হয়:

db.truncate()  # পুরো ডাটাবেস খালি করে
# অথবা
db.clear()  # নির্দিষ্ট টেবিল খালি করে

সারাংশ

  • update() মেথড: নির্দিষ্ট শর্ত অনুযায়ী ডেটা আপডেট করতে ব্যবহৃত হয়।
  • remove() মেথড: শর্ত অনুযায়ী ডেটা মুছে ফেলার জন্য ব্যবহৃত হয়।
  • clear() বা truncate() মেথড: পুরো টেবিল বা ডাটাবেস খালি করতে ব্যবহৃত হয়।

TinyDB-তে ডেটা আপডেট এবং ডিলিট করার কাজগুলো সহজ এবং দ্রুত, যা ছোট এবং মাঝারি স্কেল প্রজেক্টের জন্য কার্যকর।

Content added By

TinyDB তে ডেটা আপডেট করা খুব সহজ এবং সরল। আপডেট করার জন্য update() ফাংশন ব্যবহার করা হয়। এর মাধ্যমে নির্দিষ্ট শর্ত (condition) অনুযায়ী ডেটা আপডেট করা যায়।


ডেটা আপডেট করার ধাপ

১. TinyDB এবং Query মডিউল আমদানি করা

TinyDB-এর Query ক্লাস ব্যবহার করে শর্ত নির্ধারণ করতে হবে।

from tinydb import TinyDB, Query

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

# একটি টেবিল নির্বাচন করা
users_table = db.table('users')

২. ডেটা আপডেট করা

update() ফাংশনে আপডেট করার জন্য নতুন ডেটা এবং শর্ত নির্ধারণ করতে হয়।

# Query ক্লাস ব্যবহার করে শর্ত নির্ধারণ
User = Query()

# ডেটা আপডেট করা
users_table.update({'age': 31}, User.name == 'Rahim')

print("ডেটা আপডেট সফল!")

উপরের উদাহরণে, Rahim নামের ব্যবহারকারীর age মানটি 31 এ আপডেট করা হয়েছে।


শর্ত ছাড়াই সব ডেটা আপডেট করা

যদি কোনো নির্দিষ্ট শর্ত ছাড়াই সমস্ত রেকর্ড আপডেট করতে চান:

# সকল ব্যবহারকারীর শহর পরিবর্তন করা
users_table.update({'city': 'Dhaka'})
print("সকল ডেটা আপডেট হয়েছে।")

এখানে টেবিলের সমস্ত রেকর্ডে city মানটি Dhaka সেট হবে।


একাধিক ফিল্ড আপডেট করা

আপডেট করার সময় একাধিক ফিল্ড একসাথে পরিবর্তন করা সম্ভব:

# একাধিক ফিল্ড আপডেট
users_table.update({'age': 28, 'city': 'Sylhet'}, User.name == 'Karim')
print("একাধিক ফিল্ড আপডেট হয়েছে।")

উপরের কোডে Karim এর age এবং city আপডেট করা হয়েছে।


ডেটা আপডেট করার আগে ডেটা পরীক্ষা করা

ডেটা আপডেট করার আগে নিশ্চিত হতে চাইলে search() বা get() ফাংশন ব্যবহার করুন:

# আপডেটের আগে ডেটা চেক করা
user_data = users_table.search(User.name == 'Rahim')
print("Rahim এর বর্তমান ডেটা:", user_data)

# ডেটা আপডেট করা
users_table.update({'age': 32}, User.name == 'Rahim')

# আপডেটের পর ডেটা চেক করা
updated_data = users_table.search(User.name == 'Rahim')
print("Rahim এর আপডেট করা ডেটা:", updated_data)

ডেটাবেস বন্ধ করা

TinyDB ব্যবহারের পরে ডেটাবেস ফাইলটি বন্ধ করা উচিত:

db.close()

সারাংশ

TinyDB-তে ডেটা আপডেট করার জন্য update() ফাংশন ব্যবহার করা হয়। শর্ত নির্ধারণ করে নির্দিষ্ট ডেটা বা সমস্ত ডেটা আপডেট করা সম্ভব। এটি JSON ফাইলের মাধ্যমে কাজ করায় ছোট এবং সহজ প্রকল্পে এটি খুবই কার্যকর।

Content added By

TinyDB-তে ডেটা আপডেট করার সময় Query ক্লাস এবং condition expressions ব্যবহার করে সহজেই কন্ডিশনাল লজিক প্রয়োগ করা যায়। এটি ডেটার নির্দিষ্ট রেকর্ড বেছে নিয়ে আপডেট করতে সহায়তা করে।


Update Query এর জন্য মূল কাঠামো

TinyDB-তে ডেটা আপডেট করতে .update() মেথড ব্যবহার করা হয়। এই মেথডটি কন্ডিশন অনুযায়ী কাজ করে।

সাধারণ কাঠামো:

db.update({'field_name': new_value}, condition)

উদাহরণ: কন্ডিশনাল লজিক সহ Update Query

নিচে একটি উদাহরণ দেওয়া হলো যেখানে age ফিল্ডের মান 30 হলে ডেটা আপডেট করা হবে।

from tinydb import TinyDB, Query

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

# টেবিলে ডেটা যোগ করা
db.insert({'name': 'Rahim', 'age': 30, 'city': 'Dhaka'})
db.insert({'name': 'Karim', 'age': 25, 'city': 'Chittagong'})

# Query ক্লাস ব্যবহার করে কন্ডিশন তৈরি
User = Query()
db.update({'city': 'Khulna'}, User.age == 30)

# ডেটা চেক করা
print(db.all())

আউটপুট:

[{'name': 'Rahim', 'age': 30, 'city': 'Khulna'}, {'name': 'Karim', 'age': 25, 'city': 'Chittagong'}]

Update Query-তে Multiple Conditions ব্যবহার

আপনি একাধিক শর্ত প্রয়োগ করতে পারেন & (AND) এবং | (OR) অপারেটর ব্যবহার করে।

# একাধিক কন্ডিশন ব্যবহার
db.update({'age': 35}, (User.name == 'Rahim') & (User.city == 'Dhaka'))

# ডেটা চেক করা
print(db.all())

আউটপুট:

[{'name': 'Rahim', 'age': 35, 'city': 'Khulna'}, {'name': 'Karim', 'age': 25, 'city': 'Chittagong'}]

কন্ডিশনাল লজিক সহ Dynamic Update

ডেটার নির্দিষ্ট একটি অংশ আপডেট করতে আপনি কন্ডিশন অনুযায়ী ডেটার মান গণনা করতে পারেন।

# ডেটা আপডেট করার সময় মান পরিবর্তন করা
db.update({'age': User.age + 5}, User.city == 'Chittagong')

# ডেটা চেক করা
print(db.all())

আউটপুট:

[{'name': 'Rahim', 'age': 35, 'city': 'Khulna'}, {'name': 'Karim', 'age': 30, 'city': 'Chittagong'}]

ডেটা মিসিং থাকলে Update না করা

কিছু ডেটা অনুপস্থিত থাকলে .update() মেথড কিছুই পরিবর্তন করবে না। উদাহরণস্বরূপ:

db.update({'city': 'Sylhet'}, User.name == 'Hasan')  # Hasan নেই

print(db.all())  # কোনো পরিবর্তন হবে না

সারাংশ

TinyDB-তে Query ক্লাসের কন্ডিশনাল লজিক ব্যবহার করে ডেটা আপডেট করা খুবই সহজ। আপনি AND এবং OR অপারেটরের মাধ্যমে একাধিক শর্ত প্রয়োগ করতে পারেন এবং কন্ডিশন অনুযায়ী ডেটার মান গণনা করেও আপডেট করতে পারেন। এটি ডেটা ম্যানিপুলেশনে অত্যন্ত কার্যকর।

Content added By

TinyDB তে ডেটা মুছে ফেলার জন্য দুটি প্রাথমিক অপারেশন ব্যবহার করা হয়:

  1. Delete (Remove): নির্দিষ্ট শর্ত বা ক্রাইটেরিয়ার উপর ভিত্তি করে ডেটা মুছে ফেলা।
  2. Purge: একটি পুরো টেবিল বা ডাটাবেস খালি করা।

নিচে এ দুটি অপারেশনের ব্যাখ্যা এবং উদাহরণ তুলে ধরা হলো।


ডেটা মুছে ফেলার জন্য Delete অপারেশন

.remove() ফাংশন

remove() ফাংশন ব্যবহার করে নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলা যায়।

ব্যবহার পদ্ধতি:

db.remove(<query_condition>)

উদাহরণ

from tinydb import TinyDB, Query

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

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

# Query তৈরি
User = Query()

# নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলা
db.remove(User.name == 'Rahim')

# সব ডেটা দেখানো
print(db.all())

এখানে Rahim নামের ডেটা মুছে ফেলা হবে, এবং বাকি ডেটাগুলো JSON ফাইলে থাকবে।


পুরো টেবিল মুছে ফেলার জন্য Purge অপারেশন

.purge() ফাংশন

purge() ফাংশন ব্যবহার করে একটি পুরো টেবিলের ডেটা মুছে ফেলা হয়। এটি কোনো শর্ত প্রয়োজন করে না।

ব্যবহার পদ্ধতি:

db.purge_table('<table_name>')

উদাহরণ

# টেবিল তৈরি করা
user_table = db.table('users')

# টেবিলে ডেটা যোগ করা
user_table.insert({'username': 'aziz', 'password': '1234'})
user_table.insert({'username': 'mehedi', 'password': '5678'})

# পুরো টেবিল মুছে ফেলা
user_table.purge()

# টেবিলের সব ডেটা দেখানো
print(user_table.all())

এক্ষেত্রে users টেবিলের সমস্ত ডেটা মুছে ফেলা হবে।


সম্পূর্ণ ডাটাবেস খালি করা

purge_tables() ফাংশন ব্যবহার করে ডাটাবেসের সব টেবিল একসঙ্গে খালি করা যায়।

উদাহরণ

# ডাটাবেসের সব টেবিল খালি করা
db.purge_tables()

# ডাটাবেসের সব টেবিল দেখানো
print(db.tables())

Delete এবং Purge অপারেশনের মধ্যে পার্থক্য

অপারেশনউদ্দেশ্যশর্তউদাহরণ
Delete (Remove)নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলে।শর্ত প্রয়োজন।db.remove(User.name == 'Rahim')
Purgeপুরো টেবিল বা ডাটাবেস খালি করে।শর্ত প্রয়োজন হয় না।user_table.purge() বা db.purge_tables()

সারাংশ

  • Delete (Remove): নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলার জন্য ব্যবহৃত হয়।
  • Purge: সম্পূর্ণ টেবিল বা ডাটাবেস খালি করতে ব্যবহৃত হয়।

TinyDB এর এই অপারেশনগুলো ডেটা ম্যানেজমেন্ট সহজ করে এবং ছোট ও মাঝারি আকারের ডাটাবেস ব্যবস্থাপনায় কার্যকর সমাধান প্রদান করে।

Content added By

TinyDB-তে নির্দিষ্ট ডেটা Query Condition ব্যবহার করে ডিলিট করার জন্য remove() মেথড ব্যবহার করা হয়। এই মেথডে Query ক্লাসের শর্ত প্রদান করা হয়, যা নির্দিষ্ট ডেটা সনাক্ত করে এবং মুছে ফেলে।


উদাহরণ: নির্দিষ্ট ডেটা ডিলিট করা

নিচে উদাহরণসহ দেখানো হলো কিভাবে Query Condition ব্যবহার করে নির্দিষ্ট ডেটা ডিলিট করা যায়:

from tinydb import TinyDB, Query

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

# কিছু ডেটা যোগ করা
db.insert({'name': 'Rahim', 'age': 30, 'city': 'Dhaka'})
db.insert({'name': 'Karim', 'age': 25, 'city': 'Chittagong'})
db.insert({'name': 'Mehedi', 'age': 22, 'city': 'Sylhet'})

# Query ক্লাস ব্যবহার করা
User = Query()

# নির্দিষ্ট শর্ত অনুযায়ী ডেটা ডিলিট করা
db.remove(User.name == 'Karim')  # Karim এর ডেটা মুছে ফেলা হবে

# ডেটাবেসে অবশিষ্ট ডেটা দেখানো
print("অবশিষ্ট ডেটা:", db.all())

আউটপুট:

অবশিষ্ট ডেটা: [{'name': 'Rahim', 'age': 30, 'city': 'Dhaka'}, {'name': 'Mehedi', 'age': 22, 'city': 'Sylhet'}]

ডিলিট করার জন্য আরও উদাহরণ

বয়সের ভিত্তিতে ডেটা ডিলিট করা

# ২৫ বছরের কম বয়সের ডেটা মুছে ফেলা
db.remove(User.age < 25)

print("অবশিষ্ট ডেটা:", db.all())

শহরের ভিত্তিতে ডেটা ডিলিট করা

# Dhaka শহরের ডেটা মুছে ফেলা
db.remove(User.city == 'Dhaka')

print("অবশিষ্ট ডেটা:", db.all())

একাধিক শর্ত ব্যবহার করে ডেটা ডিলিট করা

# Sylhet শহরের এবং বয়স ২২ এমন ডেটা মুছে ফেলা
db.remove((User.city == 'Sylhet') & (User.age == 22))

print("অবশিষ্ট ডেটা:", db.all())

সারাংশ

remove() মেথড এবং Query Condition ব্যবহার করে নির্দিষ্ট শর্ত অনুযায়ী ডেটা মুছে ফেলা TinyDB-তে খুবই সহজ। এটি ছোট ও সরল ডাটাবেস ম্যানেজমেন্টের জন্য কার্যকর একটি সমাধান।

Content added By
Promotion

Are you sure to start over?

Loading...