Python操作PostgreSQL

不言
不言オリジナル
2018-04-04 15:37:113508ブラウズ

この記事では、Python を使用して PostgreSQL を操作する方法を紹介します。必要な友達は参考にしてください。

PostgreSQL を操作するための Python

前提条件: PostgreSQL データベースがユーザーのコンピューターにインストールされている

psycopg2 をインストールします。 – > pip インストール psycopg2
1. psycopg2.connect(database="testdb"、user="postgres"、password="cohondob"、host="127.0.0.1"、port="5432") この API は、PostgreSQL データベースへの接続を開きます。データベースが正常に開かれると、接続オブジェクトが返されます。 www.yiibai.com
2. connection.cursor() このプログラムは、Python プログラミングを使用してデータベース全体に使用されるカーソルを作成します。いいばい.com
3.cursor.execute(sql [, オプションのパラメータ]) このルーチンは SQL ステートメントを実行します。パラメータ化できる SQL ステートメント (つまり、SQL リテラルではなくプレースホルダー)。 psycopg2 モジュールは、%s でマークされたプレースホルダーをサポートします。 yiibai.com 例:cursor.execute(“insert into people names (%s, %s)”, (who, age))
4. curosr.executemany(sql, seq_of_parameters) このプログラムは SQL コマンドを実行して、すべてのパラメーター シーケンスまたはシーケンス内の SQL をマップします。 www.yiibai.com
5. curosr.callproc(procname[,parameters]) このプログラムは、指定された名前でストレージ データベース プログラムを実行します。プログラムは各引数のエントリを予期しており、引数の順序には 1 つが含まれている必要があります。
6. Cursor.rowcount は、最後の実行
によって変更、挿入、または削除されたデータベース内の行の総数を返す読み取り専用プロパティです。 7. Connection.commit() このメソッドは現在のトランザクションをコミットします。このメソッドを呼び出さない場合、最後に commit() を呼び出してからどのような変更が加えられたとしても、その変更は他のデータベース接続からは認識されません。
8. Connection.rollback() このメソッドは、最後に commit() メソッドが呼び出されてからデータベースに加えられたすべての変更をロールバックします。
9. connection.close() このメソッドはデータベース接続を閉じます。これは自動的に commit() を呼び出すわけではないことに注意してください。最初に commit() メソッドを呼び出さずにデータベース接続を閉じると、すべての変更が失われます。 www.yiibai.com
10.cursor.fetchone() このメソッドはクエリ結果セットの次の行を抽出し、シーケンスを返すか、それ以上データがない場合は何も返しません。
11. Cursor.fetchmany([size=cursor.arraysize]) このルーチンでは、次のグループのクエリ結果の行数を取り出し、リストを返します。レコードが見つからない場合は、空のリストが返されます。このメソッドは、表示されたサイズ パラメーター内でできるだけ多くの行を取得しようとします。
12.cursor.fetchall() このルーチンは、すべてのクエリ結果 (残りの) 行を取得し、リストを返します。空の行がある場合は、空のリストが返されます。 www.yiibai.com

1. データベースに接続

import psycopg2  #导入相关模块
#传入参数 数据库名 用户名 用户密码 主机地址 端口
conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

print "Ok"

2. データを挿入

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor() #建立操作游标
#传入的参数是 SQL 建表语句
cur.execute('''CREATE TABLE COMPANY
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')
print "ok"

conn.commit()  #注意,只有commit一下才会生效
conn.close()

5. データを更新

import psycopg2

conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432")

cur = conn.cursor()

#让它ID自动生成
cur.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( 'Paul', 32, 'California', 20000.00 )");
#注意这里还可以返回插入数据的ID
results = cur.fetchone()
ID = results[0]  #返回插入的记录的id 便于后续操作

conn.commit()
conn.close()

関連する推奨事項:

PostgreSQL データベースに接続する Python メソッド

php は PDO 拡張機能を使用して PostgreSQL オブジェクト リレーショナル データベースに接続します

php を postgreSql に接続します

以上がPython操作PostgreSQLの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。