Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Bắt đầu với psycopg2-PostgreSQL trong Python


Trong hướng dẫn này, ta học cách dùng PostgreSQL với Python. Bạn phải cài đặt một số thứ trước. Hãy cài đặt chúng.

Cài đặt PostgreSQL theo hướng dẫn...

Cài mô-đun Python psycopg2 cho kết nối và làm việc PostgreSQL. Chạy lệnh cài đặt.

pip install psycopg2

Mở pgAdmin. Tạo cơ sở dữ liệu mẫu. Tiếp theo, làm theo các bước dưới để bắt đầu thao tác cơ sở dữ liệu.

  • Import mô-đun psycopg2.
  • Lưu tên database, username, password vào biến riêng.
  • Kết nối database dùng psycopg2.connect(database=name, user=name, password=password).
  • Khởi tạo đối tượng con trỏ (cursor) thực thi lệnh SQL.
  • Tạo truy vấn và thực thi với cursor.execute(query).
  • Lấy thông tin dùng cursor.fetchall() nếu có.
  • Đóng kết nối dùng connection.close().

Ví dụ

# Import mô-đun psycopg2
import psycopg2
# Lưu thông tin
database = 'testing'
user = 'postgres'
password = 'C&o%Z?bc'
# Kết nối database
connection = psycopg2.connect(database=database, user=user, password=password)
# Khởi tạo con trỏ
cursor = connection.cursor()
# Truy vấn tạo bảng
create_table = "CREATE TABLE testing_members (id SERIAL PRIMARY KEY, name VARCHAR(25) NOT NULL)"
# Thực thi truy vấn
cursor.execute(create_table)
# Dữ liệu mẫu điền vào bảng
testing_members = ['Python', 'C', 'JavaScript', 'React', 'Django']
# Truy vấn điền dữ liệu
for testing_member in testing_members:
    populate_db = f"INSERT INTO testing_members (name) VALUES ('{testing_member}')"
    cursor.execute(populate_db)
    # Lưu thay đổi vào database
    connection.commit()
    # Truy vấn lấy tất cả
    fetch_all = "SELECT * FROM testing_members"
    cursor.execute(fetch_all)
    # Lấy tất cả dòng
    rows = cursor.fetchall()
    # In dữ liệu
    for row in rows:
        print(f"{row[0]} {row[1]}")
    # Đóng kết nối
    connection.close()

Kết quả

Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.

1 Python
2 C
3 JavaScript
4 React
5 Django

Kết luận

Nếu có thắc mắc trong hướng dẫn, hãy đề cập ở phần bình luận.