这篇文章给大家介绍的是如何使用Python操作PostgreSQL ,现在在这里分享一下,有需要的朋友可以参考一下
Python操作PostgreSQL
前提条件:用户计算机上安装了PostgreSQL数据库
安装psycopg2 –> pip install 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编程。 yiibai.com
3 、 cursor.execute(sql [, optional parameters])此例程执行SQL语句。可被参数化的SQL语句(即占位符,而不是SQL文字)。 psycopg2的模块支持占位符用%s标志 yiibai.com例如:cursor.execute(“insert into people values (%s, %s)”, (who, age))
4 、 curosr.executemany(sql, seq_of_parameters)该程序执行SQL命令对所有参数序列或序列中的sql映射。 www.yiibai.com
5 、 curosr.callproc(procname[, parameters])这个程序执行的存储数据库程序给定的名称。该程序预计为每一个参数,参数的顺序必须包含一个条目。
6 、 cursor.rowcount这个只读属性,它返回数据库中的行的总数已修改,插入或删除最后 execute*().
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()
3、插入数据
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()
4、删除数据
import psycopg2 conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432") cur = conn.cursor() cur.execute("DELETE from COMPANY where ID=2;") conn.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() cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1") conn.commit conn.close()
6、查询数据
import psycopg2 conn = psycopg2.connect(database="mybase", user="postgres", password="asd123456", host="127.0.0.1", port="5432") cur = conn.cursor() cur.execute("SELECT id, name, address, salary from COMPANY") rows = cur.fetchall() #这里返回查询的所有数据集 conn.close()
相关推荐:
Atas ialah kandungan terperinci Python操作PostgreSQL . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!