با استفاده از کتابخانه psycopg2 در پایتون، یک اسکریپت بنویسید که به یک پایگاه‌داده PostgreSQL متصل شود، جدول users را با ستون‌های id (SERIAL PRIMARY KEY)، name و email ایجاد کند، سه رکورد نمونه درج کند و سپس همه رکوردها را خوانده و چاپ کند.

16.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:37

0.0

برای حل این مسأله از کتابخانه psycopg2 استفاده کنید: ابتدا اتصال به دیتابیس را با پارامترهای host، dbname، user و password برقرار کنید، سپس با cursor دستورات SQL مانند CREATE TABLE IF NOT EXISTS و INSERT را اجرا کنید و پس از INSERT از conn.commit() استفاده کنید. برای خواندن داده‌ها از cursor.execute("SELECT ...") و cursor.fetchall() بهره ببرید و خروجی را چاپ کنید. از پارامترهای جایگزین (%s) برای قرار دادن مقادیر در INSERT استفاده کنید تا از SQL injection جلوگیری شود و در انتها cursor و connection را ببندید یا از بافر context manager (with) استفاده کنید؛ همچنین خطاها را با try/except مدیریت کنید.

توسط پژوهشگر در 198 روز قبل ساعت 02:37
دسته بندی ها: Python Python for beginner
reyhaneh در 198 روز قبل ساعت 02:38

وقتی با psycopg2 کار می‌کنید بهتر است از context manager (with psycopg2.connect(...) as conn, conn.cursor() as cur) استفاده کنید تا connection و cursor خودکار بسته شوند و خطاها مدیریت شوند. برای جلوگیری از SQL injection همیشه از پارامترهای جایگزین (%s) استفاده کنید و برای درج تعداد زیادی رکورد از psycopg2.extras.execute_values بهره ببرید تا کارایی بهتر شود. در صورت نیاز می‌توانید ستون email را UNIQUE تعریف کنید تا رکوردهای تکراری ثبت نشوند و یا از ON CONFLICT برای بروزرسانی/رد کردن استفاده کنید. همچنین توجه کنید که در حالت پیش‌فرض باید پس از INSERT از conn.commit() استفاده کنید یا autocommit را فعال کنید تا تغییرات پایدار شوند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری