当前位置:  开发笔记 > 编程语言 > 正文

是否有一个等同于MySQL的DESCRIBE [table]的SQLite?

如何解决《是否有一个等同于MySQL的DESCRIBE[table]的SQLite?》经验,为你挑选了5个好方法。

我刚刚开始学习SQLite.能够看到像MySQL这样的表的详细信息会很高兴DESCRIBE [table].PRAGMA table_info [table]不够好,因为它只有基本信息(例如,它不显示列是否是某种类型的字段).SQLite有办法做到这一点吗?



1> Ned Batcheld..:

在SQLite的命令行实用程序有一个.schema TABLENAME显示你的创建语句命令.


您可以在没有表格的情况下使用".schema",它会向您展示所有这些内容.
不要忘记在声明的最后省略分号
@Simon一个分号会导致命令静默*失败*.
不需要分号
@djeikyb.这不应该被认为是一个错误吗?

2> 小智..:
PRAGMA table_info([tablename]);


对我来说,这似乎更像是MySQL的描述而不是`.schema tablename`.
这看起来应该是接受的答案,因为它通过查询而不依赖于命令行界面.来自我的+1.
@AkoiMeexx:从我原来的问题:"`PRAGMA table_info [table]`不够好,因为它只有基本信息(例如,它不显示列是否是某种类型的字段). "
是的.这对我有用..schema TABLENAME没有.但是,单独的.schema会显示所有的创建语句,但如果我只想查看一个表,那么PRAGMA的结果会更有用.

3> Mark Rushako..:

您在寻找用于生成表的SQL吗?为此,您可以查询sqlite_master表:

sqlite> CREATE TABLE foo (bar INT, quux TEXT);
sqlite> SELECT * FROM sqlite_master;
table|foo|foo|2|CREATE TABLE foo (bar INT, quux TEXT)
sqlite> SELECT sql FROM sqlite_master WHERE name = 'foo';
CREATE TABLE foo (bar INT, quux TEXT)


@Matthew:`.schema`只能在命令行中使用; 上述命令可以通过库(Python,C#等)作为查询运行.
调试WebSql时,+ 1“ SELECT * FROM sqlite_master”在chrome开发工具中有效

4> Ross Snyder..:

要查看所有表格:

.tables

要查看特定表格:

.schema [tablename]



5> Radagast..:

为了防止人们被其他答案的一些评论误导:

    如果.schema还是query from sqlite_master没有提供任何输出,则表示不存在的tablename,比如,这也可以由引起;分号结束了.schema, .tables......或者仅仅因为表真的不存在.这.schema不起作用是不太可能的,然后应该在sqlite项目中提交错误报告.

... .schema只能在命令行中使用; 上面的命令>可以通过库(Python,C#等)作为查询运行. - Mark Rushakoff 2010年7月25日21:09

    '只能在命令行中使用'可能误导人.几乎任何(可能是每种?)编程语言都可以调用其他程序/命令.因此引用的评论是不吉利的,因为调用另一个程序,在这种情况下sqlite,比语言为每个程序提供一个wrapper/ 更有可能得到支持library(这不仅因为那里的大量程序的性质而容易出现不完整性,但也是反作用single-source principle,复杂化maintenance,进一步加剧了世界数据的混乱).

(作为答案,未作出评论但尚未发表评论.)

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有