微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlite3 – 如何在SQLite中看到表的结构?

参见英文答案 > Is there an SQLite equivalent to MySQL’s DESCRIBE [table]?5个答案如何在Oracle中查看 SQLite中的表结构?
数据库文件调用sqlite3实用程序,并使用其特殊的点命令:

> .tables将列出表
> .schema [tablename]将显示一个或多个表的CREATE语句

还有许多其他有用的内置点命令 – 参见http://www.sqlite.org/sqlite.html的文档,sqlite3的特殊命令部分。

例:

sqlite> entropy:~/Library/Mail>sqlite3 Envelope\ Index
sqlite version 3.6.12
Enter ".help" for instructions
Enter sql statements terminated with a ";"
sqlite> .tables
addresses              ews_folders            subjects
alarms                 Feeds                  threads
associations           mailBoxes              todo_notes
attachments            messages               todos
calendars              properties             todos_deleted_log
events                 recipients             todos_server_snapshot
sqlite> .schema alarms
CREATE TABLE alarms (ROWID INTEGER PRIMARY KEY AUTOINCREMENT,alarm_id,todo INTEGER,flags INTEGER,offset_days INTEGER,reminder_date INTEGER,time INTEGER,argument,unrecognized_data BLOB);
CREATE INDEX alarm_id_index ON alarms(alarm_id);
CREATE INDEX alarm_todo_index ON alarms(todo);

还要注意,sqlite在名为sqlite_master的魔术表中保存数据库本身的模式和表的所有信息,并且还可以对该表执行正常的SQL查询。例如,上面的文档链接显示了如何使用普通的sql命令(参见:查询数据库模式)来导出.schema和.tables命令的行为。

原文地址:https://www.jb51.cc/sqlite/198436.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐