SQLAlchemy একটি জনপ্রিয় পাইথন লাইব্রেরি, যা ডেটাবেস ম্যানেজমেন্ট এবং ORM (Object Relational Mapping) এর জন্য ব্যবহৃত হয়। এটি ডেটাবেস এবং পাইথনের মধ্যে একটি মধ্যবর্তী স্তর সরবরাহ করে, যা ডেটাবেস সম্পর্কিত কাজগুলোকে সহজ এবং কার্যকর করে তোলে।
SQLAlchemy এর বৈশিষ্ট্য
- Object Relational Mapper (ORM): SQLAlchemy ব্যবহার করে ডেটাবেসের টেবিলগুলোকে পাইথন ক্লাস হিসেবে মানচিত্রিত করা যায়, যা ডেটাবেস পরিচালনাকে আরও সহজ করে।
- Core SQL Expression Language: এটি ব্যবহার করে ডেটাবেসের সাথে সরাসরি যোগাযোগ করা যায় এবং কাস্টম SQL স্টেটমেন্ট তৈরি করা যায়।
- ডেটাবেস ইঞ্জিন সমর্থন: MySQL, PostgreSQL, SQLite, Oracle, এবং অন্যান্য ডেটাবেস সিস্টেমের সাথে এটি কাজ করতে পারে।
- ডেটাবেস এগ্নস্টিক: ডেটাবেস ইঞ্জিনের ওপর নির্ভরতা ছাড়াই কাজ করতে সক্ষম।
- স্কেলেবিলিটি: বড় এবং জটিল ডেটাবেস মডেল পরিচালনার জন্য কার্যকরী।
SQLAlchemy এর উপকারিতা
- ডেটাবেস কোডকে পুনরায় ব্যবহারযোগ্য এবং পরিচালনাযোগ্য করে।
- SQL এবং পাইথন কোডের মধ্যে আরও সংহত অভিজ্ঞতা প্রদান করে।
- কম জটিলতা নিয়ে ডেটাবেস মাইগ্রেশন এবং মডেলিং সহজ করে।
- ডেটাবেসে সরাসরি কমান্ড পাঠানোর পরিবর্তে ORM ব্যবহারের মাধ্যমে নিরাপত্তা বৃদ্ধি করে।
- পাইথনের কোডে ডেটাবেসের পরিবর্তন পরিচালনা করা সহজ করে।
SQLAlchemy এর দুটি প্রধান উপাদান
ORM (Object Relational Mapper)
- এটি ব্যবহার করে ডেটাবেসের টেবিলগুলোকে পাইথন ক্লাসে রূপান্তর করা হয়।
- টেবিলের রেকর্ডগুলোকে ক্লাসের অবজেক্ট হিসেবে পরিচালনা করা যায়।
Core
- এটি SQLAlchemy এর একটি নিম্ন স্তরের অংশ, যা সরাসরি SQL স্টেটমেন্ট তৈরি এবং কার্যকর করার জন্য ব্যবহৃত হয়।
- ORM এর বাইরে আরও কাস্টমাইজড এবং পারফরম্যান্ট কোড লেখার সুযোগ দেয়।
SQLAlchemy কেন ব্যবহার করবেন?
- যদি আপনার ডেটাবেস সংক্রান্ত কাজগুলিকে আরও স্বয়ংক্রিয় এবং সহজ করতে চান।
- যদি আপনি পাইথনের মাধ্যমে ডেটাবেস মডেলিং এবং মাইগ্রেশন পরিচালনা করতে চান।
- যখন আপনার ডেটাবেসের জন্য একাধিক ড্রাইভার এবং ইঞ্জিনের সমর্থন প্রয়োজন।
সারাংশ
SQLAlchemy পাইথনের একটি শক্তিশালী টুল, যা ডেটাবেস ম্যানেজমেন্ট এবং ডেটা মডেলিংকে সহজ এবং কার্যকর করে তোলে। এটি ORM এবং Core উভয় স্তরে কাজ করার সুবিধা দেয়, যা ডেভেলপারদের প্রয়োজন অনুযায়ী নমনীয় সমাধান প্রদান করে। SQLAlchemy এর মাধ্যমে আপনি সহজে ডেটাবেস টেবিল তৈরি, ম্যানিপুলেট এবং অপ্টিমাইজ করতে পারবেন।
SQLAlchemy একটি শক্তিশালী পাইথন লাইব্রেরি, যা ডাটাবেস ম্যানেজমেন্ট এবং Object Relational Mapping (ORM) এর জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের জন্য ডেটাবেসের জটিল কাজগুলোকে সহজতর করে এবং পাইথন কোড এবং ডেটাবেসের মধ্যে একটি সেতু তৈরি করে। SQLAlchemy একটি ডেটাবেস-অ্যাগনস্টিক টুল, অর্থাৎ এটি বিভিন্ন ডেটাবেস ইঞ্জিনের (যেমন MySQL, PostgreSQL, SQLite) সঙ্গে কাজ করতে পারে।
SQLAlchemy এর দুটি মূল অংশ
- SQLAlchemy Core:
- এটি সরাসরি SQL স্টেটমেন্ট তৈরি এবং কার্যকর করার জন্য ব্যবহৃত হয়।
- ডেটাবেসের সাথে সরাসরি যোগাযোগ করতে SQLAlchemy Core এর সাহায্যে কাস্টমাইজড SQL তৈরি করা যায়।
- SQLAlchemy ORM:
- এটি ডেটাবেস টেবিল এবং পাইথনের ক্লাসগুলোর মধ্যে ম্যাপিং করতে ব্যবহৃত হয়।
- ডেটাবেস অপারেশনগুলোকে অবজেক্ট-ওরিয়েন্টেড অ্যাপ্রোচে পরিচালনা করা যায়।
SQLAlchemy এর বৈশিষ্ট্য
- ডেটাবেস অ্যাগনস্টিক: এটি MySQL, PostgreSQL, SQLite সহ বিভিন্ন ডেটাবেস ইঞ্জিনের সঙ্গে কাজ করতে পারে।
- ORM সুবিধা: ডেটাবেস টেবিল এবং পাইথন অবজেক্টগুলোর মধ্যে সহজ এবং কার্যকর সংযোগ স্থাপন করে।
- কাস্টম SQL স্টেটমেন্ট: SQLAlchemy Core ব্যবহার করে জটিল SQL স্টেটমেন্ট তৈরি করা যায়।
- অটোমেশন: ডেটাবেস টেবিল তৈরি, মডেলিং এবং মাইগ্রেশনের মতো কাজগুলো সহজে সম্পন্ন করা যায়।
- পারফরম্যান্স: এটি উচ্চ পারফরম্যান্স নিশ্চিত করার জন্য বিভিন্ন অপটিমাইজেশন টুল সরবরাহ করে।
- স্কেলেবিলিটি: বড় এবং জটিল ডেটাবেস মডেল পরিচালনা করতে সক্ষম।
SQLAlchemy এর ব্যবহার
- ডেটাবেস টেবিল তৈরি: ডেটাবেসের টেবিল এবং তাদের সম্পর্কগুলো Python ক্লাস দিয়ে মডেলিং করা যায়।
- ডেটা ম্যানিপুলেশন: ডেটাবেস থেকে ডেটা যোগ, পড়া, আপডেট এবং মুছে ফেলা যায়।
- কাস্টম SQL: নির্দিষ্ট ডেটাবেস অপারেশন সম্পন্ন করতে SQLAlchemy Core ব্যবহার করে কাস্টম SQL স্টেটমেন্ট তৈরি করা যায়।
- ORM: টেবিলের রেকর্ডগুলোকে Python অবজেক্ট হিসেবে ব্যবহার করা যায়, যা ডেটাবেসের সঙ্গে কাজ করা আরও সহজ করে।
SQLAlchemy ব্যবহার কেন গুরুত্বপূর্ণ?
- সহজ ডেটাবেস ম্যানেজমেন্ট: পাইথন কোডের মাধ্যমে ডেটাবেস পরিচালনা সহজ করে।
- ডেটাবেস স্বাধীনতা: এটি একই কোড দিয়ে বিভিন্ন ডেটাবেস ইঞ্জিনে কাজ করতে দেয়।
- উচ্চ নিরাপত্তা: ORM ব্যবহার করে ডেটাবেস অপারেশনের সময় SQL Injection প্রতিরোধ করা যায়।
- অ্যাপ্লিকেশন স্কেলেবিলিটি: বড় অ্যাপ্লিকেশন তৈরি এবং পরিচালনার জন্য কার্যকর।
সারাংশ
SQLAlchemy পাইথনের একটি শক্তিশালী ডেটাবেস ম্যানেজমেন্ট লাইব্রেরি, যা ডেভেলপারদের ডেটাবেসের কাজগুলোকে আরও সহজ, দ্রুত এবং কার্যকর করতে সাহায্য করে। এটি ORM এবং Core-এর মাধ্যমে ডেটাবেসের জটিল কাজগুলোকে সরল করে, যা ডেভেলপারদের সময় এবং প্রচেষ্টা বাঁচায়।
SQLAlchemy একটি পাইথন ভিত্তিক ডেটাবেস লাইব্রেরি, যা ডেটাবেস পরিচালনার কাজকে সহজ করে। এটি ডেভেলপারদের ডেটাবেসের জটিল কাজগুলোকে সরল করার জন্য একটি শক্তিশালী প্ল্যাটফর্ম প্রদান করে। SQLAlchemy ব্যবহার করে আপনি ডেটাবেসের সাথে কার্যকর এবং নিরাপদ সংযোগ স্থাপন করতে পারেন, যা ছোট থেকে বড় সব ধরনের প্রজেক্টের জন্য উপযুক্ত।
SQLAlchemy এর ব্যবহার
ডেটাবেস টেবিল তৈরি
SQLAlchemy ব্যবহার করে সহজেই ডেটাবেস টেবিল তৈরি এবং তাদের কাঠামো নির্ধারণ করা যায়। এটি ORM এবং Core-এর মাধ্যমে ডেটা মডেলিংকে সরল করে।
ডেটা যোগ, পড়া, আপডেট এবং মুছে ফেলা
SQLAlchemy ORM ব্যবহার করে ডেটাবেসে ডেটা যোগ করা, পড়া, আপডেট করা এবং মুছে ফেলা যায়।
ডেটাবেস সম্পর্ক (Relationships) ম্যানেজমেন্ট
SQLAlchemy টেবিলগুলোর মধ্যে One-to-One, One-to-Many, এবং Many-to-Many সম্পর্ক তৈরি এবং পরিচালনা করতে সাহায্য করে।
কাস্টম SQL স্টেটমেন্ট
SQLAlchemy Core ব্যবহার করে জটিল SQL স্টেটমেন্ট তৈরি এবং কার্যকর করা যায়।
মাইগ্রেশন এবং স্কিমা পরিবর্তন
SQLAlchemy এর মাধ্যমে ডেটাবেস স্কিমা পরিবর্তন এবং মাইগ্রেশন পরিচালনা করা যায়।
মাল্টি-ডেটাবেস সংযোগ
SQLAlchemy একই কোড বেস ব্যবহার করে একাধিক ডেটাবেসের সঙ্গে সংযোগ স্থাপন করতে পারে।
SQLAlchemy এর সুবিধা
ডেটাবেস স্বাধীনতা
SQLAlchemy বিভিন্ন ডেটাবেস ইঞ্জিন যেমন MySQL, PostgreSQL, SQLite, Oracle, ইত্যাদির সাথে সমানভাবে কাজ করে।
ORM এর মাধ্যমে ডেটাবেস ম্যানেজমেন্ট সহজ
SQLAlchemy ORM ব্যবহার করে ডেটাবেস টেবিল এবং পাইথন ক্লাসের মধ্যে ম্যাপিং করা যায়। এটি ডেটাবেস অপারেশনগুলোকে অবজেক্ট-ওরিয়েন্টেড কোডে রূপান্তর করে।
কোড রিইউজ এবং মডুলার ডিজাইন
SQLAlchemy এর মাধ্যমে ডেটাবেস সংক্রান্ত কোড পুনরায় ব্যবহারযোগ্য এবং মডুলার করা যায়।
নিরাপত্তা
SQLAlchemy ORM ব্যবহার করে SQL Injection এর মতো সাইবার আক্রমণ থেকে রক্ষা পাওয়া যায়।
পারফরম্যান্স অপ্টিমাইজেশন
SQLAlchemy বিভিন্ন অপটিমাইজেশন টুল সরবরাহ করে, যা ডেটাবেস অপারেশনের পারফরম্যান্স বাড়ায়।
ডেটা মডেলিং
SQLAlchemy ডেটাবেস টেবিল এবং সম্পর্কগুলো মডেলিং করার জন্য শক্তিশালী এবং নমনীয় উপায় প্রদান করে।
স্কেলেবিলিটি
বড় এবং জটিল ডেটাবেস মডেল পরিচালনা করতে SQLAlchemy খুবই কার্যকর। এটি স্কেলেবল সল্যুশন তৈরি করতে সহায়ক।
ক্লিন এবং রিডেবল কোড
SQLAlchemy কোড লেখাকে সহজ এবং রিডেবল করে, যা প্রজেক্টের দীর্ঘমেয়াদি রক্ষণাবেক্ষণ সহজ করে।
ব্যবহার উদাহরণ
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
# ডেটাবেস ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# মেটাডেটা অবজেক্ট
metadata = MetaData()
# টেবিল তৈরি
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer)
)
# ডেটাবেসে টেবিল ইনিশিয়ালাইজ করা
metadata.create_all(engine)
সারাংশ
SQLAlchemy এর প্রধান সুবিধা হলো এটি ডেটাবেস ব্যবস্থাপনার কাজগুলোকে সহজ করে এবং ডেভেলপারদের সময় এবং প্রচেষ্টা বাঁচায়। এটি নিরাপদ, স্কেলেবল, এবং পারফরম্যান্ট অ্যাপ্লিকেশন তৈরি করতে একটি আদর্শ টুল।
ORM (Object Relational Mapping) কী?
ORM বা Object Relational Mapping একটি পদ্ধতি, যা প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা কোড এবং ডেটাবেস টেবিলের মধ্যে সম্পর্ক স্থাপন করে। এটি ডাটাবেস টেবিলগুলোর রেকর্ডগুলোকে অবজেক্ট আকারে প্রোগ্রামিং ল্যাঙ্গুয়েজে উপস্থাপন করতে সক্ষম।
ORM ডেভেলপারদের SQL লেখার প্রয়োজনীয়তা ছাড়াই ডেটাবেসের সাথে কাজ করার সুযোগ দেয়। এটি ডেটাবেসের রেকর্ডগুলোকে প্রোগ্রামিং অবজেক্টে রূপান্তরিত করে এবং ডেভেলপারদের অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে কাজ করতে দেয়।
ORM এর মূল ধারণা
- Mapping: ORM ডেটাবেস টেবিল এবং প্রোগ্রামিং ক্লাসের মধ্যে ম্যাপিং তৈরি করে।
- Abstraction: SQL স্টেটমেন্ট লেখার প্রয়োজনীয়তা হ্রাস করে ডেটাবেস কাজকে সহজ করে।
- Data Access: ডেটাবেসের সাথে সরাসরি কাজ না করে অবজেক্ট ব্যবহার করে ডেটা যোগ, আপডেট, এবং মুছে ফেলার সুযোগ দেয়।
SQLAlchemy তে ORM এর ভূমিকা
SQLAlchemy এর ORM অংশটি Python ক্লাসের মাধ্যমে ডেটাবেস টেবিলের সাথে কাজ করার সুযোগ দেয়। SQLAlchemy ORM ব্যবহার করে ডেভেলপাররা ডেটাবেস টেবিল এবং রেকর্ডগুলোকে Python অবজেক্ট হিসেবে উপস্থাপন করতে পারেন।
SQLAlchemy ORM এর গুরুত্বপূর্ণ ভূমিকা:
- ডেটাবেস টেবিলের ম্যাপিং: Python ক্লাসগুলো ডেটাবেস টেবিলের মতো আচরণ করে এবং টেবিলের কলামগুলো ক্লাসের অ্যাট্রিবিউট হিসেবে ব্যবহার করা যায়।
- অবজেক্ট-ওরিয়েন্টেড অপারেশন: ডেটাবেসের রেকর্ডগুলোকে Python অবজেক্ট আকারে ব্যবহার করা যায়, যা ডেটাবেস ম্যানিপুলেশন সহজ করে।
- Relationships পরিচালনা: SQLAlchemy ORM ব্যবহার করে টেবিলগুলোর মধ্যে সম্পর্ক (One-to-One, One-to-Many, Many-to-Many) তৈরি এবং পরিচালনা করা যায়।
- Declarative Mapping: Declarative API ব্যবহার করে Python ক্লাসগুলো সরাসরি ডেটাবেস টেবিল হিসেবে ঘোষণা করা যায়।
- Query API: SQLAlchemy ORM এর মাধ্যমে ডেটা অনুসন্ধান এবং ফিল্টারিং-এর জন্য শক্তিশালী এবং নমনীয় API সরবরাহ করে।
ORM কেন ব্যবহার করবেন?
- SQL লেখার প্রয়োজন কমায়: SQLAlchemy ORM ব্যবহার করলে সরাসরি SQL কোয়েরি লেখার প্রয়োজন হয় না। পরিবর্তে Python কোড ব্যবহার করেই কাজ করা যায়।
- ডেটাবেস পরিবর্তনের জন্য সহজ সমাধান: ডেটাবেসের কাঠামো পরিবর্তন বা আপগ্রেড করার জন্য ORM একটি সহজ উপায় সরবরাহ করে।
- রিডেবল এবং পুনরায় ব্যবহারযোগ্য কোড: ORM ব্যবহার করে লেখা কোড আরও রিডেবল এবং পুনরায় ব্যবহারযোগ্য হয়।
- নিরাপত্তা: ORM SQL Injection-এর মতো সাধারণ সাইবার আক্রমণ প্রতিরোধ করতে সাহায্য করে।
SQLAlchemy ORM ব্যবহার করার উদাহরণ
একটি সাধারণ মডেল তৈরি করা:
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# Base ক্লাস তৈরি
Base = declarative_base()
# মডেল ডিফাইন করা
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# ডেটাবেস ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# টেবিল তৈরি করা
Base.metadata.create_all(engine)
# সেশন তৈরি করা
Session = sessionmaker(bind=engine)
session = Session()
# নতুন ডেটা যোগ করা
new_user = User(name='John Doe', age=30)
session.add(new_user)
session.commit()
# ডেটা রিড করা
users = session.query(User).all()
for user in users:
print(user.name, user.age)
SQLAlchemy ORM এর সুবিধা
- ডেটাবেস টেবিল এবং Python ক্লাসের মধ্যে সহজ এবং কার্যকর ম্যাপিং।
- SQL কোয়েরি লেখার প্রয়োজন ছাড়াই ডেটা ম্যানিপুলেশন।
- Relationship পরিচালনা করার জন্য বিল্ট-ইন সাপোর্ট।
- Declarative Base ব্যবহার করে সহজ এবং দ্রুত মডেল তৈরি।
- ডেটা কোয়েরি এবং ফিল্টারিংয়ের জন্য শক্তিশালী API।
সারাংশ
SQLAlchemy ORM হল ডেটাবেস এবং Python কোডের মধ্যে সম্পর্ক স্থাপনের একটি শক্তিশালী মাধ্যম। এটি ডেটাবেস কাজকে আরও সহজ, দ্রুত এবং নিরাপদ করে তোলে। ORM ডেভেলপারদের SQL লেখা ছাড়াই ডেটাবেস পরিচালনার সুযোগ দেয় এবং অবজেক্ট-ওরিয়েন্টেড অ্যাপ্রোচে ডেটা হ্যান্ডলিং সহজ করে।
SQLAlchemy একটি শক্তিশালী এবং জনপ্রিয় Python লাইব্রেরি যা relational database management systems (RDBMS) এর সাথে কাজ করার জন্য ব্যবহৃত হয়। এটি দুটি প্রধান কম্পোনেন্টে বিভক্ত: SQLAlchemy Core এবং SQLAlchemy ORM। এছাড়াও, Engine কম্পোনেন্টটি SQLAlchemy এর কাজের মৌলিক অংশ হিসেবে গুরুত্বপূর্ণ ভূমিকা পালন করে।
এখানে SQLAlchemy এর প্রধান কম্পোনেন্টগুলির বিস্তারিত আলোচনা করা হল:
SQLAlchemy Core
SQLAlchemy Core হল SQLAlchemy এর একটি লো-লেভেল API, যা আপনার SQL স্টেটমেন্টগুলি সরাসরি তৈরি এবং এক্সিকিউট করার জন্য ব্যবহৃত হয়। এটি SQLAlchemy এর মূল অংশ যা কমপ্লেক্স SQL কুয়েরি তৈরি এবং ডেটাবেসের সাথে ইন্টারঅ্যাকশন করার জন্য ব্যবহৃত হয়। Core ব্যবহারের মাধ্যমে আপনি SQL কোডে বেশি নিয়ন্ত্রণ রাখতে পারেন এবং এটি ডেটাবেস ইঞ্জিন থেকে সরাসরি SQL কমান্ড পাঠানোর জন্য উপযুক্ত।
মূল বৈশিষ্ট্যসমূহ:
- SQL Expression Language: SQLAlchemy Core আপনাকে SQL কোড লেখার জন্য একটি উচ্চ-স্তরের API প্রদান করে।
- Table and Column Objects: ডেটাবেস টেবিল এবং কলাম সৃষ্টির জন্য ব্যবহার করা হয়।
- Schema Reflection: ডেটাবেসের স্কিমা থেকে টেবিল এবং কলামের তথ্য নিয়ে আসে।
- Connection and Transaction Management: ডেটাবেস কানেকশন এবং ট্রানজেকশন পরিচালনা করার সুবিধা।
Core এর ব্যবহার উদাহরণ:
from sqlalchemy import create_engine, Table, MetaData, Column, Integer, String
# ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# মেটাডেটা এবং টেবিল ডেফিনেশন
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer)
)
# টেবিল তৈরি
metadata.create_all(engine)
# কানেকশন তৈরি
with engine.connect() as connection:
result = connection.execute(users.insert(), {'name': 'Alice', 'age': 30})
print(result.inserted_primary_key)
SQLAlchemy ORM (Object-Relational Mapping)
SQLAlchemy ORM একটি উচ্চ-স্তরের API যা রিলেশনাল ডেটাবেসের টেবিলগুলিকে Python ক্লাসে রূপান্তর করে এবং আপনাকে অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে ডেটাবেসের সাথে কাজ করার সুযোগ দেয়। ORM আপনার জন্য SQL কুয়েরি তৈরি করে এবং ডেটাবেসের সাথে সম্পর্কিত অবজেক্ট হিসেবে ডেটা ম্যানেজ করতে সাহায্য করে।
মূল বৈশিষ্ট্যসমূহ:
- Declarative Base: ক্লাস ডেফিনিশন দিয়ে টেবিল তৈরি করা যায়।
- Query API: ডেটাবেসে কুয়েরি করা সহজ করে।
- Session Management: অবজেক্ট এবং ডেটাবেসের মধ্যে একটি সেশন তৈরি করে ডেটা ম্যানেজ করা হয়।
- Relationship Management: টেবিলের মধ্যে সম্পর্ক তৈরি এবং পরিচালনা করা।
ORM এর ব্যবহার উদাহরণ:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# Declarative Base তৈরি
Base = declarative_base()
# টেবিলের ক্লাস ডেফিনিশন
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db')
# টেবিল তৈরি
Base.metadata.create_all(engine)
# সেশন তৈরি
Session = sessionmaker(bind=engine)
session = Session()
# নতুন ইউজার তৈরি
new_user = User(name='Bob', age=25)
# ডেটাবেসে সেভ করা
session.add(new_user)
session.commit()
# কুয়েরি করা
user = session.query(User).filter_by(name='Bob').first()
print(user.name, user.age)
session.close()
SQLAlchemy Engine
SQLAlchemy Engine হল SQLAlchemy এর কম্পোনেন্ট যা ডেটাবেস কানেকশন এবং SQL কমান্ড এক্সিকিউট করার জন্য ব্যবহৃত হয়। এটি ডেটাবেসের সাথে কমিউনিকেশন ম্যানেজ করে এবং Core বা ORM এর মাধ্যমে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে।
মূল বৈশিষ্ট্যসমূহ:
- Database Connection Management: ডেটাবেসের সাথে কানেকশন তৈরি, সংযোগ স্থাপন এবং ম্যানেজমেন্ট।
- Execution of SQL Statements: SQL স্টেটমেন্টগুলি এক্সিকিউট করা।
- Transaction Management: ট্রানজেকশন শুরু এবং শেষ করা।
- Connection Pooling: কানেকশন পুল ব্যবহার করে ডেটাবেসের পারফরম্যান্স উন্নত করা।
Engine এর ব্যবহার উদাহরণ:
from sqlalchemy import create_engine
# ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# কানেকশন তৈরি
with engine.connect() as connection:
result = connection.execute("SELECT * FROM users")
for row in result:
print(row)
সারাংশ
- SQLAlchemy Core: এটি SQL কুয়েরি তৈরি এবং এক্সিকিউট করার জন্য লো-লেভেল API।
- SQLAlchemy ORM: এটি অবজেক্ট-রিলেশনাল ম্যানেজমেন্ট পদ্ধতি যা ডেটাবেসের সাথে অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে কাজ করার সুবিধা দেয়।
- SQLAlchemy Engine: এটি SQLAlchemy এর কম্পোনেন্ট যা ডেটাবেস কানেকশন এবং SQL এক্সিকিউশন পরিচালনা করে।
SQLAlchemy এর এই তিনটি কম্পোনেন্ট একে অপরের সাথে কাজ করে এবং ডেটাবেসের সাথে কার্যকরীভাবে ইন্টারঅ্যাক্ট করতে সাহায্য করে।
Read more