Hướng dẫn python connect postgresql
Để kết nối tới PostgreSQL Database trong lập trình Python 3, chúng ta cần sử dụng 1 thư viện của Python 3 đó là psycopg2. Nó cung cấp các phương thức để thao tác với PostgreSQL Database. Trong bài viết này chúng ta sẽ cùng tìm hiểu cách cài đặt cũng như kết nối tới PostgreSQL Show Tạo PostgreSQL DatabaseĐầu tiên chúng ta tạo 1 database để thực hiện việc kết nối. Login bằng user postgres và thực hiện command dưới đây. psql postgres=# create database vinasupport; Cài đặt thư việnĐể cài đặt thư viện psycopg2 chúng ta sử dụng trình quản lý package/module của Python 3 là pip3 pip3 install psycopg2 Nếu gặp lỗi:
Thì hãy chạy command sau để cài python3-dev sudo apt-get install python3-dev Kết nối tới PostgreSQL sử dụng Python 3Source code: #!/usr/bin/python3 import psycopg2 try: # connect to the PostgreSQL server conn = psycopg2.connect(host="localhost",database="vinasupport", user="postgres", password="postgres") # create a cursor cur = conn.cursor() # Execute a sql cur.execute('SELECT version()') # display the PostgreSQL database server version version = cur.fetchone() print(version) # close the communication with the PostgreSQL cur.close() except Exception as e: print('Unable to connect %s' % str(e)) finally: if conn is not None: conn.close() Kết quả: Nguồn: vinasupport.com PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ theo kiểu đối tượng, mã nguồn mở. Nó được biết đến bởi độ tin cậy, khả năng quản lý cơ sở dữ liệu mạnh mẽ và hiệu năng tốt. PostgreSQL sở hữu rất nhiều thư viện API (Application programming interface) sẵn có dành cho nhiều ngôn ngữ lập trình phổ biến, chẳng hạn như Python. Nó cung cấp rất nhiều tính năng quan trị cơ sở dữ liệu như View, Trigger, Index (sử dụng B-Tree), v.v… Có một số module Python cho phép chúng ta kết nối tới và thao tác với cơ sở dữ liệu bằng PostgreSQL: – Psycopg2 – pg8000 – py-postgresql – PyGreSQL Trong đó Psycopg2 là một trong những Python driver phổ biến nhất dành cho PostgreSQL. Nó được tích cực duy trì và cung cấp hỗ trợ cho nhiều phiên bản Python khác nhau. Ngoài ra các kết nối tới cơ sở dữ liệu được hỗ trợ bởi Pssycopg2 đều là thread-safe (tức là đảm bảo an toàn về luồng), do đó Psycopg2 có thể được sử dụng trong các ứng dụng đa luồng. Vì các lý do này, Psycopg2 đã trở thành một lựa chọn phổ biến dành cho các developers. Trong bài này, chúng ta sẽ khám phá các tính năng của PostgreSQL bằng cách sử dụng Psycopg2 để xây dựng một hệ quản trị cơ sở dữ liệu đơn giản trong Python.
1. Cài đặt– Câu lệnh để cài đặt Psycopg2 là:
– Lưu ý: Nếu bạn đang sử dụng Python 2 thì hãy dùng lệnh pip install thay vì pip3 install. Ngoài ra, một khi psycopg đã được cài đặt trong hệ thống của bạn, chúng ta sẽ có thể kết nối đến cơ sở dữ liệu và thực thi các truy vấn trong Python. Trước khi có thể truy cập vào cơ sở dữ liệu bằng Python, chúng ta cần tạo ra cơ sở dữ liệu trong postgresql đã. Để tạo cơ sở dữ liệu, bạn hãy làm theo các bước sau: 1. Đăng nhập vào PostgreSQL:
2. Thiết lập passowrd
Tiếp theo bạn sẽ được nhắc để nhập vào password. Bạn hãy cố nhớ password của mình bởi vì chúng ta sẽ sử dụng nó để kết nối đến cơ sở dữ liệu bằng Python. 3. Tạo một cơ sở dữ liệu có tên là “test”. Chúng ta sẽ kết nối đến cơ sở dữ liệu này.
Khi cơ sở dữ liệu và password đã được thiết lập, bạn hãy thoát khỏi psql server. 3. Kết nối đến cơ sở dữ liệuPhương thức connect() được sử dụng để thiết lập kết nối với cơ sở dữ liệu. Nó nhận vào 5 tham số: 1. database: Tên của cơ sở dữ liệu mà bạn muốn kết nối đến 2. user: username của hệ thống cục bộ (local system) của bạn 3. password: Mật khẩu để đăng nhập vào psql 4. host: Được thiết lập là localhost theo mặc định 5. port: Là số cổng, được đặt là 5432 theo mặc định
Khi kết nối đã được thiết lập, chúng ta có thể sử dụng Python để thao tác với cơ sở dữ liệu. Cursor object (đối tượng con trỏ cơ sở dữ liệu) được sử dụng để thực thi các truy vấn sql, chúng ta có thể tạo ra một cursor object bằng cách sử dụng đối tượng kết nối (đối tượng conn):
Bằng cách sử dụng đối tượng cur này, chúng ta có thể thực hiện các thay đổi lên cơ sở dữ liệu mà ta đã kết nối đến. Sau khi đã thực thi xong tất cả các truy vấn, chúng ta cần ngắt kết nối đến cơ sở dữ liệu. Việc không ngắt kết nối cơ sở dữ liệu sau khi đã thao tác xong sẽ không gây ra bất kỳ lỗi nào nhưng, ngắt kết nối cơ sở dữ liệu sau khi đã thao tác xong thường được coi là một good practice, tức là một thói quen tốt.
4. Thực thi các truy vấnPhương thức execute() sẽ nhận vào một tham số là câu truy vấn SQL cần được thực thi. Câu truy vấn SQL được truyền vào làm tham số sẽ thuộc kiểu dữ liệu String.
5. Tìm nạp dữ liệuKhi truy vấn đã được thực thi, chúng ta có thể thu thập các kết quả của truy vấn này bằng phương thức fetchall(). Phương thức này không nhận vào tham số nào, và trả về kết quả của các câu truy vấn Select.
Kết quả của câu truy vấn này sẽ được lưu trữ bên trong biến res. 6. Kết hợp tất cả lại với nhauKhi đã tạo xong cơ sở dữ liệu trong PostgreSQL, chúng ta có thể truy cập tới cơ sở dữ liệu đó, trong Python. Đầu tiên, ta tạo ra một bảng emp trong cơ sở dữ liệu test với lược đồ: (id INTEGER PRIMARY KEY, name VARCHAR(10), salary INT, dept INT). Khi bảng emp được tạo thành công, chúng ta sẽ có thể thêm các giá trị dưới dạng một bản ghi dữ liệu (data record) vào trong bảng này. Khi bản ghi dữ liệu đã được thêm vào bảng, chúng ta có thể truy vấn bảng emp để lấy ra tất cả các hàng của bảng emp, để hiển thị cho người dùng bằng cách sử dụng hàm fetchall().
Nguồn và Tài liệu tiếng anh tham khảo:
Tài liệu từ cafedev:
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng! Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you! |