sqlite3解释table_name

时间:2010-11-11 16:28:04

标签: sql mysql sqlite

在mysql中,您可以通过explain tablename;查看表的结构sqlite3的等价物是什么?

3 个答案:

答案 0 :(得分:2)

您可以在Command Line Shell中使用.schema

  

没有参数,“。schema”   命令显示原始CREATE   表和CREATE INDEX语句   用于构建当前   数据库。如果你给出一个名字   表格为“.schema”,它显示了   用于制作的原始CREATE语句   该表及其所有指数。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

修改

请注意,.schema也会为您提供与同名相同的INDEXES。

示例:

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);

在查询结尾处包含分号