【问题标题】:what does run the command \dt mean?运行命令 \dt 是什么意思?
【发布时间】:2018-04-17 08:01:06
【问题描述】:

我正在自学 Django。在这个网站

https://docs.djangoproject.com/en/1.11/intro/tutorial02/

它说

如果您有兴趣,请为您的数据库运行命令行客户端并输入 \dt (PostgreSQL), SHOW TABLES; (MySQL)、.schema (SQLite) 或 SELECT TABLE_NAME FROM USER_TABLES; (Oracle) 显示 Django 创建的表。

我真的不知道那是什么意思。他们想让我在终端中输入一些命令吗?如果是的话是什么命令?

【问题讨论】:

  • "为您的数据库运行命令行客户端"。在您使用的任何数据库的手册中查找它。
  • Show tables in PostgreSQL的可能重复
  • 不知道为什么这个问题被否决了。我认为 PO 非常清楚地表达了他/她的问题。我认为有时 * 对初学者来说太苛刻了。
  • @AKX 相关但不重复。 OP 的目标不是显示所有表格,而是首先了解 \dt 命令将完成什么。

标签: django


【解决方案1】:

这不是 Django 或 Python 函数,它是 PostgreSQL 函数。如果你不使用 PostgreSQL,这与你无关。

如果你使用 PostgreSQL 并且想了解更多关于它的命令行客户端,你应该check out the official documentation:基本上,它是一个允许你连接到你的数据库并发出 SQL 命令的程序(例如@ 987654322@、UPDATE ...) 直接添加,以及一些非 SQL 的添加,例如列出所有表 (\dt)、列表视图 (\dv) 或退出 (\q)。

其他 SQL 系统有自己的非 SQL 命令版本,例如 MySQL 使用SHOW TABLES;,SQLite3 使用.tables。为您的系统使用正确的那个。

【讨论】:

    【解决方案2】:

    \dt 列出 PostgreSQL 数据库中的所有表。

    该命令在psql 中运行,该命令行工具与 Postgres 一起安装。

    以下是成功运行\dt 的步骤。 (请注意,步骤 1 和 2 不是必需的,但可能有助于学习目的):

    1. 通过键入psql -U postgres 从终端访问 psql。这允许您访问 psql CLI 并访问所有本地数据库。
    2. 输入\l 列出所有本地数据库
    3. 输入psql db_name 以访问特定数据库
    4. 输入\dt - 这将显示数据库中的所有表

    如果您已经知道数据库的名称,您只需从终端输入psql db_name,然后输入\dt

    【讨论】: