如何获取数据库中的表信息(SQLite)[重复]

Posted

技术标签:

【中文标题】如何获取数据库中的表信息(SQLite)[重复]【英文标题】:How to get table information in a database (SQLite) [duplicate] 【发布时间】:2016-04-18 21:04:56 【问题描述】:

我是 SQLite 的新手。我在 Eclipse(Java) 中使用它以防万一。

现在我的问题是我有一个 *.db 文件,但对其内容一无所知。我想知道我可以通过哪种方式获得有关里面表格的一些信息。否则,似乎不可能通过SELECT Query 正确读取数据库。所以基本上我的问题只是这部分

      stmt = c.createStatement();
      ResultSet rs = stmt.executeQuery( "SELECT * FROM ???????;" );
      while ( rs.next() ) 
         int id = rs.getInt("id");
         ..

【问题讨论】:

【参考方案1】:

1。了解数据库的架构

在 .db 文件所在的位置打开终端。

输入以下命令启动 SQLite 控制台。

sqlite3 NameOfDatabase.db

1.1 所有表格

然后给控制台输入以下命令:

.schema

这将为您提供有关所有表的所有信息,包括字段的数据类型。换句话说,上面的命令会给你,你的database schema

上述命令的输出示例如下:

CREATE TABLE log (ID INTEGER PRIMARY KEY AUTOINCREMENT, userID INTEGER, cardID INTEGER, eventID INTEGER, nameOnTicket TEXT, pricePaid REAL);
CREATE TABLE card (cardID INTEGER PRIMARY KEY AUTOINCREMENT, cardNum TEXT, securityCode TEXT, expiryMonth INTEGER, expiryYear INTEGER, addressID INTEGER, userID INTEGER);

它实际上返回了重新创建表的命令,因此如果您想输出 queries 以重新创建表或为您的数据库/应用程序创建文档,这也很方便,但也可以了解数据库的结构和表。

1.2 具体表

此外,您可以使用以下命令查看特定表的架构:

.schema TableName

这将返回TableName 表的架构。

2。将 SQLite 与 Eclipse 集成

另一种选择是将您的 SQLite 数据库与 Eclipse 集成,您可以在下面找到执行此操作的步骤。以下步骤已从官方 Eclipse wiki 复制到此处,您可以找到 here。

1) 从here 下载 SQLite 驱动程序。实际的 zip 文件 司机在3。在本地某处展开 zip 并注意 位置。

2) 将 zip 中的 sqlite_jni.dll 放入 JRE 的 bin 目录中。 驱动程序要求此文件位于 java 库路径中。

3) 在安装了 DTP 1.0 的 Eclipse 中(最好是最终版本或 每晚构建日期为 110806 或更高版本),转到首选项 (Window->Preferences) 并选择 Connectivity->Driver Definitions 页面。

4) 在可用驱动程序中选择“通用 JDBC”类别 定义树,然后单击“添加...”。

5) 在Available中选择“Generic JDBC Driver->Generic JDBC Driver” 驱动程序模板树。将新的通用 JDBC 驱动程序命名为 “javasqlite JDBC 驱动程序”。点击确定。

6) 单击“添加 Jar/Zip”并从驱动程序 zip 中选择 sqlite.jar 您在第 1 步中展开。单击“打开”。

7) 在属性表中,选择驱动程序类属性并单击 按钮。如果 jar 可访问,您将看到一个对话框 在列表中至少出现一个类。选择 “SQLite.JDBCDriver”。点击确定。

8) 同样在“属性”表中,选择驱动程序 URL 属性并 键入以下内容:jdbc:sqlite:/DRIVE:/dirA/dirB/dbfile

9) 在“编辑驱动程序定义”对话框中单击“确定”。你应该看到你的 新驱动程序出现在驱动程序定义的驱动程序列表中 偏好页面。

10) 单击“确定”关闭“首选项”对话框。

11) 如果数据源资源管理器未打开,请打开 Connectivity->Data Source Explorer view from the Window->Show View 菜单或从 窗口->打开透视图。

12) 在 Data Source Explorer 中,右键单击 Databases 类别 并选择新建...

13) 在新建连接配置文件向导的向导选择页面中, 在列表中选择 SQL Model-JDBC Connection 条目并单击 Next。

14) 为您的新配置文件命名,例如“SQLiteTestDB”。点击下一步。

15) 在“从下拉列表中选择驱动程序”组合框中,选择您的 新的 SQLite 驱动程序定义。修改示例 URL 中的文件路径 匹配本地 SQLite 数据库的路径。

16) 单击“测试连接”以验证您可以连接到您的 数据库。

17) 单击完成以创建配置文件。

18) 在数据源资源管理器中,右键单击新配置文件并 选择连接。您应该会看到内容出现在下方的树中 轮廓。浏览您的数据库以查看可用的表和 他们的专栏。

【讨论】:

这不适用于使用Java驱动 我以为他想了解他的数据库架构?你的意思是? (抱歉问,只是为了理解错误,如果有的话) 我读到它是因为他试图在运行时用代码动态地做到这一点。但是现在重新阅读它实际上我不确定。 马特你理解正确 嗨,我已经编辑了我的答案。如果这能解决您的问题,请告诉我。

以上是关于如何获取数据库中的表信息(SQLite)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在tableview中显示sqlite3中 的表中的信息

如何使用循环打印 sqlite3 中的表以及 python 中的列名以及如何准确获取列名?

如何从sqlite +phonegap中的表中获取第一列名称

如何在python程序中查看sqlite3某数据库中的表名

从信息模式中获取oracle中的表名列表[重复]

如何使用列表视图在选项卡式活动的片段中呈现 SQLite 表数据 [重复]