📅  最后修改于: 2023-12-03 15:33:45.711000             🧑  作者: Mango
在 PostgreSQL 中,我们可以使用以下 SQL 查询语句获取指定数据库中的所有表名:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
上面的 SQL 语句将返回指定数据库中的所有公共表名。
如果要获取所有模式的表名,则可以将 table_schema
更改为 %
。
SELECT table_name FROM information_schema.tables WHERE table_schema = '%';
注意,获取表名时,你需要使用对应的数据库用户连接数据库,否则没有足够的权限访问数据库。
在 Python 中,我们可以通过以下代码使用 psycopg2 库连接 PostgreSQL 数据库并执行 SQL 查询语句:
import psycopg2
# 连接数据库
conn = psycopg2.connect(database="database_name", user="database_user", password="mysecretpassword", host="localhost", port="5432")
# 创建光标对象
cur = conn.cursor()
# 执行 SQL 查询语句
cur.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'")
# 获取所有查询结果
rows = cur.fetchall()
# 输出结果
for row in rows:
print(row[0])
# 关闭光标对象和数据库连接
cur.close()
conn.close()
以上 Python 代码将连接指定的 PostgreSQL 数据库、执行 SQL 查询语句并输出所有查询结果。
注意,这里使用了 psycopg2
库,你需要先安装该库才能运行上述代码。
除了 Python,你也可以在其他编程语言中使用相应的数据库驱动程序来连接并查询 PostgreSQL 数据库。