পাইথনের সাথে এসকিউএল সার্ভার ডাটাবেজের কানেকশন (পার্ট-২)
ডাটা আপডেট করা
ডাটা আপডেট করার জন্য pyodbc ব্যবহার করে ডাটাবেজের সাথে কানেক্ট করতে হবে, অতপর একটি কার্সর তৈরি করে উক্ত কার্সরের মাধ্যমে ডাটা আপডেট করার স্টেটমেন্টটি এক্সিকিউট করতে হবে। ডাটা আপডেট করার পর con.commit()ব্যবহার করে আপডেটকে কমিট করতে হবে। কমিট করা হলে এসকিউএল স্টেটমেন্টটি এক্সিকিউশনের কার্যকারিতা ডাটাবেজ লেভেলে প্রতিফলিত হয় এবং উক্ত আপডেট সবাই দেখতে পারে। ডাটা আপডেট করার পাইথন প্রোগ্রাম নিচে দেয়া হলো
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("""update employees set EMP_NAME='MOHAMMAD KAMAL AHMED' where EMP_ID=2004""")
cursor.close()
con.commit()
con.close()
ডাটা আপডেট করার পর উক্ত আপডেটকে ভেরিফাই করার জন্য নিচের এসকিউএল স্টেটমেন্টটি এক্সিকিউট করি। আমরা দেখতে পাব যে এমপ্লয়ী আইডি ২০০৪-এর এমপ্লয়ী নেম পরিবর্তিত হয়েছে।
ডাটা ডিলিট করা
ডাটা ডিলিট করা জন্য pyodbc ব্যবহার করে ডাটা ডিলিট করার এসকিউএল স্টেটমেন্ট এক্সিকিউট করতে হবে। ডাটা ডিলিট করার পাইথন প্রোগ্রাম নিচে দেয়া হলো
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("""delete from employees where EMP_ID=2004""")
cursor.close()
con.commit()
con.close()
ডাটা ডিলিট করার প্রোগ্রাম এক্সিকিউট করার পর এসকিউএল সার্ভার ম্যানেজমেন্ট টুলস হতে EMPLOYEES টেবিলে কোয়েরি করা হলে দেখা যাবে যে ডিলিটকৃত ডাটাটি নেই অর্থাৎ ডাটাটি ডিলিট হয়ে গেছে।
টেবিল তৈরি করা
পাইথন প্রোগ্রাম ব্যবহার করে ডায়নামিক্যালি প্রোগ্রামের মাধ্যমে নতুন টেবিল তৈরি করা যায়। নতুন টেবিল তৈরি করার স্টেটমেন্টকে কার্সরের মাধ্যমে এক্সিকিউট করতে হবে। স্টেটমেন্টটি এক্সিকিউট হলে pyodbc এসকিউএল সার্ভার ডাটাবেজে একটি নতুন টেবিল তৈরি করবে। টেবিল তৈরি করার পাইথন প্রোগ্রামটি নিচে দেয়া হলো
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("""create table department (dept_id int, dept_name varchar(100))""")
cursor.close()
con.commit()
con.close()
নতুন টেবিলটি তৈরি হয়েছে কিনা তা যাচাই করার জন্য এসকিউএল সার্ভার ম্যানেজমেন্ট টুলস ব্যবহার করে টেবিলের স্পেসিফিকেশন দেখার মাধ্যমে জানা যেতে পারে। যেমন
এছাড়া টেবিলের ডাটা কোয়েরি করার মাধ্যমে টেবিলটি তৈরি হয়েছে কিনা তা জানা যায়। যেমন
select * from department
টেবিল মডিফাই করা
পাইথন প্রোগ্রাম ব্যবহার করে ডাটাবেজের যে কোনো টেবিলকে মডিফাই করা যায়। এজন্য কার্সরের মাধ্যমে টেবিল মডিফাই করার এসকিউএল স্টেটমেন্ট এক্সিকিউট করতে হবে। টেবিল মডিফাই করার পাইথন প্রোগ্রামের উদাহরণ দেয়া হলো
import pyodbc
con = pyodbc.connect(r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=employee;Trusted_Connection=yes;')
cursor = con.cursor()
cursor.execute("alter table department alter column dept_name nvarchar(200)")
cursor.close()
con.commit()
con.close()
প্রোগ্রামটি এক্সিকিউট করার পর টেবিলের স্পেসিফিকেশন দেখার এসকিউএল স্টেটমেন্টটি এসকিউএল সার্ভার ম্যানেজমেন্ট টুলস হতে এক্সিকিউট করতে হবে। যেমন
আমরা লক্ষ করলে দেখতে পাব যে dept_name কলামের ডাটা টাইপ পাইথন প্রোগ্রামের মাধ্যমে পরিবর্তিত হয়ে nvarchar হয়েছে এবং তার সাইজ ২০০ হয়েছে।
০ টি মন্তব্য