📅  最后修改于: 2023-12-03 15:07:51.190000             🧑  作者: Mango
PostgreSQL 是一个开源的关系型数据库管理系统,它支持 Windows,Linux 和其他一些操作系统。在本文中,我们将探讨如何在 Windows 和 Ubuntu 20.04 中连接到 PostgreSQL 数据库。我们将学习如何安装 PostgreSQL,如何创建和管理数据库,并且展示如何使用 Python 和 Node.js 程序连接到数据库。
为了在 Windows 和 Ubuntu 20.04 中使用 PostgreSQL,我们需要首先安装它。在 Windows 上,您可以从官方网站下载安装程序。在 Ubuntu 20.04 上,您可以使用以下命令安装 PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
安装完成后,您可以通过以下命令检查 PostgreSQL 的版本:
psql --version
在 Windows 上,您可以使用 PgAdmin 工具来连接到 PostgreSQL。PgAdmin 是 PostgreSQL 的官方管理工具,提供了图形界面和命令行方式进行操作。您可以从官方网站下载并安装 PgAdmin。
安装完成后,打开 PgAdmin,点击 "添加新服务器" 来连接到 PostgreSQL 数据库。
在 Ubuntu 20.04 上,您可以使用命令行方式连接到 PostgreSQL。首先,您需要使用以下命令登录到 PostgreSQL 数据库:
sudo -u postgres psql
然后,您可以使用以下命令查看所有数据库:
\l
如果您已经创建了数据库并希望连接到它,可以使用以下命令:
\c db_name
替换 "db_name" 为您所需连接的数据库名称。
您可以使用以下命令在 PostgreSQL 中创建数据库:
sudo -u postgres createdb db_name
替换 "db_name" 为您所需创建的数据库名称。
在创建数据库后,您可以使用以下命令创建表:
CREATE TABLE table_name (
field1 datatype [optional],
field2 datatype [optional],
...
);
替换 "table_name" 为您所需创建的表名称,"field1" 和 "field2" 分别表示表中的列名,"datatype" 表示列的数据类型,可选部分表示列的约束。
您可以使用以下命令将数据插入表中:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
替换 "table_name" 为表名称,"column1"、"column2"、"column3" 表示列名,"value1"、"value2"、"value3" 表示要插入的值。
您可以使用以下命令查询数据:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
替换 "table_name" 为表名称,"column1"、"column2" 表示要查询的列名,"condition" 表示您要检索的条件。
您可以使用以下命令更新数据:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
替换 "table_name" 为表名称,"column1"、"column2" 表示要更新的列名,"value1"、"value2" 表示要更新的值,"condition" 表示更新数据的条件。
您可以使用以下代码片段连接到 PostgreSQL 数据库:
import psycopg2
conn = psycopg2.connect(database="db_name", user="user_name", password="password", host="host_name", port="port_number")
cur = conn.cursor()
cur.execute("INSERT INTO table_name (column1, column2) VALUES (%s, %s)", (value1, value2))
conn.commit()
cur.execute("SELECT column1, column2 FROM table_name")
rows = cur.fetchall()
for row in rows:
print(row[0], row[1])
cur.close()
conn.close()
const { Pool } = require("pg");
const pool = new Pool({
user: "user_name",
host: "host_name",
database: "db_name",
password: "password",
port: "port_number",
});
(async () => {
const client = await pool.connect();
await client.query("INSERT INTO table_name (column1, column2) VALUES ($1, $2)", [
value1,
value2,
]);
const result = await client.query("SELECT column1, column2 FROM table_name");
result.rows.forEach(row => {
console.log(row.column1, row.column2);
});
client.release();
})();
替换 "db_name"、"user_name"、"password"、"host_name"、"port_number" 分别为您的数据库名称、用户名、密码、主机名、端口号以及 "table_name"、"column1"、"column2"、"value1"、"value2" 分别为您的表名称、列名、要插入的值。
以上就是在 Windows 和 Ubuntu 20.04 上连接到 PostgreSQL 的完整介绍。如果您想深入学习 PostgreSQL,可以查看官方文档。