代码之家  ›  专栏  ›  技术社区  ›  tybro0103

sqlite3解释表名

  •  1
  • tybro0103  · 技术社区  · 16 年前

    在MySQL中,您可以通过 explain tablename; sqlite3的等效值是多少?

    3 回复  |  直到 16 年前
        1
  •  2
  •   user180804    16 年前

    我相信“.schema tablename”就是你要找的。

        2
  •  2
  •   McStretch    16 年前

    你可以使用 .schema 在 Command Line Shell :

    如果没有参数,“.schema” 命令显示原始创建 表和创建索引语句 是用来制造电流的 数据库。如果你给一个 表到“.schema”,它显示 用于生成 那张表以及它的所有索引。

        3
  •  2
  •   Community Mohan Dere    9 年前

    这已经用更通用的方式回答了 here .

    编辑 :

    注意 .schema 还将为您提供与相同名称匹配的索引。

    例子:

    CREATE TABLE job (
        id INTEGER PRIMARY KEY,
        data VARCHAR
    );
    CREATE TABLE job_name (
        id INTEGER PRIMARY KEY,
        name VARCHAR
    );
    CREATE INDEX job_idx on job(data);
    

    注意以下两者之间的区别:

    sqlite> SELECT sql FROM SQLITE_MASTER WHERE type = 'table' AND name = 'job';
    CREATE TABLE job (
            id INTEGER PRIMARY KEY,
            data VARCHAR
        )
    sqlite> SELECT sql FROM SQLITE_MASTER WHERE name = 'job_idx';
    CREATE INDEX job_idx on job(data)
    

    和

    sqlite> .schema job
    CREATE TABLE job (
            id INTEGER PRIMARY KEY,
            data VARCHAR
        );
    CREATE INDEX job_idx on job(data);
    

    包括 半结肠 在查询结束时。