如何获取数据库中的表信息(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 中的列名以及如何准确获取列名?