Heim > Backend-Entwicklung > Python-Tutorial > Python-Operationen PostgreSQL

Python-Operationen PostgreSQL

不言
Freigeben: 2018-04-04 15:37:11
Original
3511 Leute haben es durchsucht

Dieser Artikel führt Sie in die Verwendung von Python zum Betrieb von PostgreSQL ein. Jetzt werde ich ihn hier teilen.

Python zum Betrieb von PostgreSQL

Voraussetzung: Benutzercomputer PostgreSQL-Datenbank installiert auf

Install psycopg2 –> pip install psycopg2
1. psycopg2.connect(database="testdb", user="postgres", passwort="cohondob", host="127.0.0.1", port="5432") Diese API öffnet eine Verbindung zur PostgreSQL-Datenbank. Wenn die Datenbank erfolgreich geöffnet wurde, gibt sie ein Verbindungsobjekt zurück. www.yiibai.com
2. Connection.cursor() Dieses Programm erstellt einen Cursor, der mithilfe der Python-Programmierung für die gesamte Datenbank verwendet wird. yiibai.com
3. Cursor.execute(sql [, optionale Parameter]) Diese Routine führt SQL-Anweisungen aus. SQL-Anweisungen, die parametrisiert werden können (also Platzhalter, keine SQL-Literale). Das psycopg2-Modul unterstützt Platzhalter, die mit %s yiibai.com gekennzeichnet sind. Zum Beispiel: Cursor.execute(“in Personenwerte einfügen (%s, %s)”, (wer, Alter))
4. curosr.executemany(sql, seq_of_parameters) Dieses Programm führt SQL-Befehle aus, um alle Parametersequenzen oder SQL in der Sequenz abzubilden. www.yiibai.com
5. curosr.callproc(procname[, Parameter]) Dieses Programm führt das Speicherdatenbankprogramm mit dem angegebenen Namen aus. Das Programm erwartet für jedes Argument einen Eintrag und die Reihenfolge der Argumente muss einen enthalten.
6. Cursor.rowcount ist eine schreibgeschützte Eigenschaft, die die Gesamtzahl der Zeilen in der Datenbank zurückgibt, die durch die letzte Ausführung*() geändert, eingefügt oder gelöscht wurden 7. Connection.commit() Diese Methode schreibt die aktuelle Transaktion fest. Wenn Sie diese Methode nicht aufrufen, sind die seit dem letzten Aufruf von commit() vorgenommenen Änderungen für andere Datenbankverbindungen nicht sichtbar.
8. Connection.rollback() Diese Methode macht alle Änderungen an der Datenbank seit dem letzten Aufruf der commit()-Methode rückgängig.
9. Connection.close() Diese Methode schließt die Datenbankverbindung. Beachten Sie, dass dadurch commit() nicht automatisch aufgerufen wird. Wenn Sie einfach die Datenbankverbindung schließen, ohne vorher die Methode commit() aufzurufen, gehen alle Änderungen verloren! www.yiibai.com
10. Cursor.fetchone() Diese Methode extrahiert die nächste Zeile des Abfrageergebnissatzes und gibt eine Sequenz zurück oder nichts, wenn keine Daten mehr verfügbar sind.
11. Cursor.fetchmany([size=cursor.arraysize]) In dieser Routine wird die Anzahl der Zeilen des Abfrageergebnisses der nächsten Gruppe entnommen und eine Liste zurückgegeben. Wenn kein Datensatz gefunden wird, wird eine leere Liste zurückgegeben. Diese Methode versucht, so viele Zeilen wie möglich innerhalb des angezeigten Größenparameters zu erhalten.
12. Cursor.fetchall() Diese Routine ruft alle (verbleibenden) Abfrageergebniszeilen ab und gibt eine Liste zurück. Wenn eine leere Zeile vorhanden ist, wird eine leere Liste zurückgegeben. www.yiibai.com

1. Stellen Sie eine Verbindung zur Datenbank her

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

print "Ok"
Nach dem Login kopieren
2. Erstellen Sie eine Tabelle

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()
Nach dem Login kopieren
3. Fügen Sie Daten ein

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()
Nach dem Login kopieren
4. Daten löschen

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()
Nach dem Login kopieren
5. Daten aktualisieren

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()
Nach dem Login kopieren
Verwandte Empfehlungen:

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()
Nach dem Login kopieren
So verbinden Sie die PostgreSQL-Datenbank mit Python

php verwendet die PDO-Erweiterung, um eine Verbindung zur objektrelationalen PostgreSQL-Datenbank herzustellen

php stellt eine Verbindung zu postgreSql her

Das obige ist der detaillierte Inhalt vonPython-Operationen PostgreSQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage