SQLAlchemy कोर - तालिका बनाना

आइए अब चर्चा करते हैं कि क्रिएट टेबल फ़ंक्शन का उपयोग कैसे करें।

एसक्यूएल एक्सप्रेशन लैंग्वेज टेबल कॉलम के खिलाफ अपने एक्सप्रेशन बनाती है। SQLAlchemy कॉलम ऑब्जेक्ट एक का प्रतिनिधित्व करता हैcolumn एक डेटाबेस तालिका में जो बदले में एक द्वारा प्रतिनिधित्व किया है Tableobject। मेटाडेटा में सारणी और संबंधित वस्तुओं जैसे सूचकांक, दृश्य, ट्रिगर, आदि की परिभाषाएं हैं।

इसलिए SQLAlchemy मेटाडेटा से मेटाडेटा वर्ग का एक ऑब्जेक्ट टेबल ऑब्जेक्ट्स और उनके संबंधित स्कीमा निर्माण का एक संग्रह है। यह टेबल ऑब्जेक्ट्स के संग्रह के साथ-साथ एक इंजन या कनेक्शन के लिए वैकल्पिक बाध्यकारी भी रखता है।

from sqlalchemy import MetaData
meta = MetaData()

मेटाडेटा वर्ग के निर्माता में बाइंड और स्कीमा पैरामीटर हो सकते हैं जो डिफ़ॉल्ट रूप से होते हैं None

अगला, हम मेटाडाटा कैटलॉग के ऊपर अपनी तालिकाओं को परिभाषित करते हैं the Table construct, जो नियमित एसक्यूएल सृजन तालिका विवरण जैसा दिखता है।

तालिका वर्ग का ऑब्जेक्ट डेटाबेस में संबंधित तालिका का प्रतिनिधित्व करता है। कंस्ट्रक्टर निम्न पैरामीटर लेता है -

नाम तालिका का नाम
मेटाडाटा मेटाडेटा ऑब्जेक्ट जो इस तालिका को रखेगा
स्तंभ (रों) स्तंभ वर्ग की एक या एक से अधिक वस्तुएँ

कॉलम ऑब्जेक्ट एक का प्रतिनिधित्व करता है column में database table। कंस्ट्रक्टर नाम, प्रकार और अन्य मापदंडों जैसे प्राथमिक_की, स्वप्रतिबंध और अन्य बाधाओं को लेता है।

SQLAlchemy पायथन डेटा को उसमें परिभाषित सर्वोत्तम संभावित जेनेरिक कॉलम डेटा प्रकारों से मिलाता है। कुछ सामान्य डेटा प्रकार हैं -

  • BigInteger
  • Boolean
  • Date
  • DateTime
  • Float
  • Integer
  • Numeric
  • SmallInteger
  • String
  • Text
  • Time

बनाने के लिए students table कॉलेज डेटाबेस में, निम्नलिखित स्निपेट का उपयोग करें -

from sqlalchemy import Table, Column, Integer, String, MetaData
meta = MetaData()

students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = True), 
   Column('name', String), 
   Column('lastname', String), 
)

Create_all () फ़ंक्शन सभी निर्धारित टेबल ऑब्जेक्ट बनाने के लिए इंजन ऑब्जेक्ट का उपयोग करता है और मेटाडेटा में जानकारी संग्रहीत करता है।

meta.create_all(engine)

पूरा कोड नीचे दिया गया है जो इसमें छात्रों की तालिका के साथ एक SQLite डेटाबेस College.db बनाएगा।

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///college.db', echo = True)
meta = MetaData()

students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = True), 
   Column('name', String), 
   Column('lastname', String),
)
meta.create_all(engine)

क्योंकि create_engine () फ़ंक्शन की गूंज विशेषता के लिए सेट है Trueकंसोल निम्नानुसार तालिका निर्माण के लिए वास्तविक SQL क्वेरी प्रदर्शित करेगा -

CREATE TABLE students (
   id INTEGER NOT NULL,
   name VARCHAR,
   lastname VARCHAR,
   PRIMARY KEY (id)
)

College.db को वर्तमान कार्यशील निर्देशिका में बनाया जाएगा। यह जांचने के लिए कि क्या छात्र तालिका बनाई गई है, आप किसी भी SQLite GUI उपकरण का उपयोग करके डेटाबेस को खोल सकते हैंSQLiteStudio

नीचे दी गई छवि छात्रों को डेटाबेस में बनाई गई तालिका दिखाती है -