পাইথনের সাথে এসকিউএল সার্ভার ডাটাবেজের কানেকশন (পার্ট-১)
এসকিউএল সার্ভার ডাটাবেজের সাথে কানেক্ট করার জন্য পাইথন প্রোগ্রামে pyodbc প্যাকেজটি ইনস্টল করা থাকতে হবে। এটি ইনস্টল করার জন্য pip install pyodbc কমান্ডটি নিচের মতো এক্সিকিউট করতে হবে।
pyodbc প্যাকেজটি ইনস্টল হয়ে গেলে পাইথন IDLE থেকে চেক করে দেখতে হবে তা ঠিকমতো ইমপোর্ট করা যায় কিনা। এজন্য নিচের মতো ইমপোর্ট কমান্ড এক্সিকিউট করে দেখতে হবে।
import pyodbc
যদি কোনো এরর প্রদান না করে তাহলে বুঝতে হবে যে প্যাকেজটি সঠিকভাবে ইনস্টল করা হয়েছে এবং তা ইমপোর্ট করে ডাটাবেজ সংক্রান্ত কার্যাবলি সম্পাদন করা যাবে।
ডাটা কোয়েরি করা
পাইথন প্রোগ্রাম ব্যবহার করে এসকিউএল সার্ভারের ডাটা কোয়েরি করার জন্য প্রথমে প্যাকেজকে ইমপোর্ট করতে হবে। অতপর ডাটাবেজের সার্ভার নেম, ডাটাবেজ নেম প্রভৃতি প্রদান করে একটি কানেকশন তৈরি করতে হবে। এসকিউএল কোয়েরিকে এক্সিকিউট করার জন্য একটি কার্সর তৈরি করতে হবে এবং উক্ত কার্সরে প্রয়োজনীয় এসকিউএল স্টেটমেন্টটি লিখে তা এক্সিকিউট করতে হবে। এসকিউএল সার্ভারের ডাটা কোয়েরি করার একটি বেসিক পাইথন প্রোগ্রাম প্রদান করা হলোÑ
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("select * from employees")
rows=cursor.fetchall()
for row in rows:
print ('Emp ID:',row.EMP_ID,'Emp Name:',
row.EMP_NAME,'Emp Birthdate:',row.EMP_BIRTH_DATE)
cursor.close()
con.close()
প্রোগ্রামের বর্ণনা
১. import pyodbc স্টেটমেন্ট ব্যবহার করে pyodbc প্যাকেজকে প্রোগ্রামে ইমপোর্ট করা হয়েছে।
২. con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;') স্টেটমেন্ট ব্যবহার করে pyodbc-এর মাধ্যমে ডাটাবেজের সাথে কানেকশন তৈরি করা হয়েছে। কানেকশন তৈরি করার জন্য ডাটাবেজের সার্ভার নেম এবং ডাটাবেজের নাম প্রদান করতে হয়েছে।
৩.cursor = con.cursor() স্টেটমেন্ট ব্যবহার করে একটি কার্সর তৈরি করা হয়েছে, যা এসকিউএল স্টেটমেন্টকে এক্সিকিউট করার জন্য pyodbc কানেকশনকে ব্যবহার করবে।
৪. cursor.execute("select * from employees") স্টেটমেন্ট ব্যবহার করে একটি কোয়েরি স্টেটমেন্টকে এক্সিকিউট করা হয়েছে।
৫. rows=cursor.fetchall()স্টেটমেন্ট ব্যবহার করে কোয়েরি হতে প্রাপ্ত সব রেকর্ডসমূহকে ৎড়ংি নামক একটি ভেরিয়েবলে সংরক্ষণ করা হয়েছে।
৬. for row in rows:
print ('Emp ID:',row.EMP_ID,'Emp Name:',
row.EMP_NAME,'Emp Birthdate:',row.EMP_BIRTH_DATE)
for ভেরিয়েবল হতে ডাটাসমূহ স্ক্রিনে প্রদর্শন করা হয়েছে।
৭. cursor.close() স্টেটমেন্ট ব্যবহার করে কার্সরকে বন্ধ করা হয়েছে।
৮.con.close()স্টেটমেন্ট ব্যবহার করে ডাটাবেজের সাথে কানেকশন বন্ধ করা হয়েছে।
প্রোগ্রামটি এক্সিকিউট করা হলে এসকিউএল সার্ভার হতে প্রাপ্ত ডাটাসমূহ নিচের মতো আউটপুটে প্রদর্শিত হবে।
ডাটা ইনসার্ট করা
ডাটা ইনসার্ট করার জন্য ওপরে উল্লিখিত পদ্ধতিতে ডাটাবেজে কানেক্ট করতে হবে। অতপর ডাটা ইনসার্ট করার এসকিউএল স্টেটমেন্ট কার্সরের মাধ্যমে এক্সিকিউট করতে হবে। ডাটা ইনসার্ট করার পাইথন প্রোগ্রামের উদাহরণ নিচে প্রদান করা হলো
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("""insert into employees(EMP_ID,EMP_NAME,EMP_ADD,EMP_BIRTH_DATE,EMP_EMAIL,EMP_PHONE)
values(2004,'MOHAMMAD KAMAL','Dhaka','01/01/1983','[email protected]','11756542')""")
cursor.close()
con.commit()
con.close()
EMPLOYEES টেবিলে ডাটা ইনসার্ট করার পর এসকিউএল সার্ভার ম্যানেজমেন্ট টুলস থেকে উক্ত টেবিলে কোয়েরি করলে ইনসার্টকৃত ডাটাসমূহ দেখা যাবে।
০ টি মন্তব্য