1. libpq(C 语言接口):
- PQconnectdb:建立与 PostgreSQL 服务器的连接。
- PQexec:执行 SQL 查询。
- PQexecParams:带有参数的 SQL 查询。
- PQprepare 和 PQexecPrepared:使用预处理语句执行查询。
- PQgetResult:获取查询结果。
- PQfinish:关闭连接。
#include <libpq-fe.h>
PGconn *conn = PQconnectdb("dbname=mydb user=myuser");
PGresult *result = PQexec(conn, "SELECT * FROM my_table");
2. psycopg2(Python 接口):
- psycopg2.connect:建立与 PostgreSQL 服务器的连接。
- connection.cursor:创建游标。
- cursor.execute:执行 SQL 查询。
- cursor.fetchone 和 cursor.fetchall:获取查询结果。
- connection.commit 和 connection.rollback:提交或回滚事务。
import psycopg2
conn = psycopg2.connect("dbname=mydb user=myuser")
cursor = conn.cursor()
cursor.execute("SELECT * FROM my_table")
rows = cursor.fetchall()
3. pg-promise(Node.js 接口):
- pgp(options):创建连接对象。
- db.one 和 db.many:执行 SQL 查询并获取结果。
- db.none:执行不返回结果的查询。
- db.tx:创建事务。
const pgp = require('pg-promise')();
const db = pgp("postgres://username:password@localhost:5432/mydb");
db.one("SELECT * FROM my_table WHERE id = $1", [1])
.then(result => {
console.log(result);
});
4. jdbc(Java 接口):
- DriverManager.getConnection:建立与 PostgreSQL 服务器的连接。
- Statement 和 PreparedStatement:执行 SQL 查询。
- ResultSet:获取查询结果。
- Connection.commit 和 Connection.rollback:提交或回滚事务。
import java.sql.*;
Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/mydb", "myuser", "mypassword");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM my_table");
5. SQLAlchemy(Python ORM):
- 使用 SQLAlchemy 时,你可以使用其 SQL 表达式语言和 ORM 功能与 PostgreSQL 交互。
from sqlalchemy import create_engine, text
engine = create_engine("postgresql://myuser:mypassword@localhost:5432/mydb")
with engine.connect() as connection:
result = connection.execute(text("SELECT * FROM my_table"))
rows = result.fetchall()
这只是一小部分 PostgreSQL 接口函数的示例。选择合适的接口函数通常取决于项目的需求和所使用的编程语言。无论使用哪个接口,都应注意安全性、异常处理和连接管理等方面的最佳实践。
转载请注明出处:http://www.zyzy.cn/article/detail/8546/PostgreSQL