با استفاده از کتابخانه 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 مدیریت کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
وقتی با 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 را فعال کنید تا تغییرات پایدار شوند.
گزارش