Tôi đang làm việc trên một dự án mà tôi đang xử lý dữ liệu bằng python và đẩy dữ liệu đó vào cơ sở dữ liệu Postgres. Vì gần đây tôi phải tìm ra cách để làm điều này, bài viết này sẽ trình bày chi tiết cách cài đặt PostgreSQL cục bộ [trên máy mac] và kết nối với mô-đun python
Cài đặt và bắt đầu Postgres
Giả sử bạn đã cài đặt Homebrew, hãy cài đặt qua brew với brew install postgres
Tiếp theo, bắt đầu db với pg_ctl -D /usr/local/var/postgres start
Mở tiện ích dòng lệnh Postgres
Khi DB đang chạy, hãy mở dòng lệnh postgres bằng _______ 39 _______
Điều đó sẽ mở một cli trông như thế này. postgres=#
Để giải trí, bạn có thể xem người dùng của mình bằng truy vấn SELECT current_user;
Tạo DB và Bảng
Tạo cơ sở dữ liệu với truy vấn
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
0Tiếp theo, tôi sẽ tạo một bảng tên là
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
1 với 5 cột. pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
2, pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
3, pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
4, pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
5, pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
6 và pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
7________số 8_______Bạn có thể chọn tất cả các hàng từ bảng và xác nhận rằng nó trống bằng truy vấn
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
8 , truy vấn này sẽ trả về kết quả saupk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
Sự thật thú vị là bạn cũng có thể liệt kê tất cả các mối quan hệ [i. e. bảng] trong db của bạn với
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
9List of relations
Schema | Name | Type | Owner
--------+---------------------------+----------+----------------
public | hole_by_hole_score | table | garrettsweeney
public | hole_by_hole_score_pk_seq | sequence | garrettsweeney
[2 rows]
Chèn một hàng
Bây giờ, hãy chèn một số dữ liệu. Tôi muốn chèn một hàng trong đó
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
[0 rows]
2 là _______12_______1, ____________3 là _______12_______3, _________4 là _______12_______5, _________5 là _______12_______5, _______ 6 là _______12_______9 và _______ 7 là _______12_______9select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
2Và hãy xác minh để truy vấn tất cả các hàng,
select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
3 , điều này mang lạiselect * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
Tuyệt vời, bây giờ hãy thử chèn bằng Python
Thu thập các giá trị kết nối cho Python
Chúng tôi cần chi tiết kết nối để kết nối —
Lấy tên db hiện tại với ____25_______4 và người dùng hiện tại với SELECT current_user;
. Rất có thể nếu đây là lần đầu tiên bạn truy cập cơ sở dữ liệu postgres của mình, bạn có thể thay đổi mật khẩu của mình bằng
select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
6Đó là tất cả những gì bạn cần để kết nối bằng mô-đun
select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
7. Hàm python để kết nối trông như thế nàyMột chức năng để kết nối với db postgres của bạn
Chỉ để xem xét, tôi đưa vào 4 thông số. tên db là
select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
8, tên người dùng postgres là select * from hole_by_hole_score;
pk | tid | player_id | round | hole | par | score
----+-----+-----------+-------+------+-----+-------
1 | 555 | 12345 | 1 | 1 | 4 | 4
[1 row]
9, postgres vượt qua là Attempting to connect...
[1, 555, 12345, 1, 1, 4, 4]
DB Conn closed.
0 và truy vấn để thực hiện là Attempting to connect...
[1, 555, 12345, 1, 1, 4, 4]
DB Conn closed.
1Thực hiện một truy vấn với chức năng của chúng tôi
Bây giờ, tôi có thể gọi hàm này bằng một cái gì đó như
Attempting to connect...
[1, 555, 12345, 1, 1, 4, 4]
DB Conn closed.
2 và nó sẽ in hàng mà chúng tôi đã nhậpAttempting to connect...
[1, 555, 12345, 1, 1, 4, 4]
DB Conn closed.
đậu mát. Đây là thứ tôi có thể sử dụng nhanh chóng để thực thi các câu lệnh chèn khi tôi đang phân tích dữ liệu của mình