问题标签 [sqlitemanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5736 浏览

datetime - SQLite 管理器中的 datetime()

我似乎无法弄清楚为什么 datetime 对我从 CSV 导入的一些数据不起作用。我有一个列 TIMESTAMP,它的类型是日期时间。

从 GPS 限制 1 中选择 TIMESTAMP <-这给了我一个时间,“2009 年 6 月 29 日 00:00:00” 从 GPS 限制 1 中选择日期时间(TIMESTAMP)<- 这给了我 SQLite 管理器中的一个粉红色字段,它看起来是空的. 从 GPS 限制 1 中选择 datetime('now') <- 这给了我当前的日期和时间。(“2012-12-19 20:45:17”)它的格式与我的其他数据不同 - 是否存在数据类型问题?

到底是怎么回事?我的“时间戳”数据实际上没有转换为 DATETIME 对象吗?为什么存储为文本?有没有办法来解决这个问题?

0 投票
1 回答
2361 浏览

sql - SQL 新手:在 SQL 查询中使用当前日期作为变量

我使用了 Excel 并创建了 2 列。column1包含 DATES,column2包含值作为 INT。我已使用 SQLite Manager 将表作为 CSV 导入。我已连接到数据库,并已成功将其用于仅涉及文本的其他查询。现在我想在 column2 中选择与 column1 中显示的当前日期相对应的 INT。因此,每天运行 SQL 查询时,它将根据新的当前日期自动更新。我用过

但是,它返回 null (空白,什么都没有),而如果我使用

它返回rowid1的column2中的INT,但如果我使用

它返回 rowid3 的第 2 列中的 INT。

因此,数据库正在运行;但是,问题在于它无法将当前系统日期与 column1 中的正确值相关联。是否有可能导入CSV。进入 SQLite 已将数据类型更改为 VARCHAR 或 DATE 和 INT 以外的其他内容?

0 投票
1 回答
1212 浏览

java - SQLite 管理器,添加到 FireFox

我是数据库新手,我需要将它用于我正在从事的项目,我有以下问题。

如果我们使用 SQLite manager 在 java 上创建一个数据库,然后生成一个完整程序的 jar 文件。要安装这个项目,我们必须始终为将要安装该程序的每台计算机安装用于 FireFox 的 SQLite Manager 插件。尽管能够在我的 GUI 程序中的数据库中添加和删除内容。

0 投票
1 回答
162 浏览

java - 服务器上的 SQLITE 管理器

我想知道是否可以将 SQLITE 管理器数据库放到服务器上?我的意思是,当我在一个 java 项目中完成我的程序并为该项目制作安装程序时。任何从运行在任何操作系统上且具有管理权限的计算机下载它的人都可以访问数据库而不会出现连接问题。此外,任何登录到程序的人都可以通过完整的数据库连接来登录。

有没有办法做到这一点?我也不希望要安装程序的用户为数据库安装任何其他程序。此外,我希望该程序可以在任何可能没有在 firefox 网络浏览器上安装 SQLITEManager 插件或什至在该计算机上安装 firefox 的计算机上运行。

我还希望管理员能够在数据库应该位于的在线服务器上编辑任何内容。如果这在 SQLITE 管理器上是不可能的,你能推荐一个可以做到这一点但也可以使用和处理已经为 sqlite 程序制作的代码的数据库吗?

0 投票
1 回答
599 浏览

performance - 使用 SQLite 的 cmd.ExecuteReader() 在 SQLite 管理器中速度很慢但速度很快

我计划使用 SQLite 作为本地数据库。我在 SQLite 管理器(Firefox 插件)中使用“group by”和“order by”创建了一个复杂的 Select 语句。查询在 SQLite 管理器中运行大约600 毫秒。在我的 C# 应用程序中,我创建了一个具有相同查询的 SQLiteCommand,并且 cmd.ExecuteReader() 方法大约需要60 秒才能完成。我正在使用 System.Data.SQLite.dll。“ANALYZE”和“VACUUM”命令都没有改善执行时间。

谁能告诉我如何获得与 SQLite Manager 相同的执行时间?

马蒂

0 投票
2 回答
1105 浏览

iphone - SQLite Manager - 将表复制到另一个 .sqlite 数据库

使用 SQLite 数据库开发我的第一个 iOS 应用程序。在项目中,我有 2 个数据库,其中第一个数据库只有一个表,另一个作为主数据库。我想通过将表从第一个数据库复制到第二个数据库,将这些数据库合并为一个(第二个)。第一个数据库表包含超过 32K 条记录。所以,我想用数据复制整个表。

我想使用 firefox 的 SQLManager AddOn 来实现这一点。

任何的想法?

0 投票
1 回答
1239 浏览

sqlite - MAMP Pro 中的 SQLiteManger 面板给了我空白页

我最近开始研究通过 GUI 管理 SQLite 数据库,并想尝试与 MAMP Pro 捆绑在一起的 SQLite Manager,但是尝试从其面板(通过“Webstart”)访问该工具会给我一个空白页。我假设它将以与 PhpMyAdmin 相同的方式进行预配置,关于从哪里开始有什么想法吗?使用 MAMP Pro 1.0。

0 投票
1 回答
673 浏览

sqlite - 如何使用 SQLite 管理器创建复合主键

对于我正在处理我的一个 SQLite 表的项目,需要一个由两个外键组成的复合主键。记录检索依赖于两个条件;大学课程和注册该课程的学生。

我在 SQLite 管理器中看不到任何允许我为此表创建复合键的地方。也许我只是没有看到它,但任何帮助将不胜感激。

谢谢。

0 投票
3 回答
135 浏览

java - sqlite 和 java 的 ERRO null

我正在 netbeans 中开发 java 应用程序。我连接了数据库 sqlite,它运行良好。现在,我正在尝试删除数据库中的一个字段:

当我执行这个方法时,我得到这个错误:

...并且该字段不会在数据库中删除。

如果我复制这一行:DELETE FROM restaurante WHERE id_restaurante = 4并尝试在 sqlite 管理器(附加 firefox)中删除,效果很好。

有任何想法吗?

0 投票
1 回答
479 浏览

sql - 使用 JDBC 的 SQLite 查询比使用 Firefox SqliteManager 插件慢得多

我在 Firefox 的 SQLiteManager 插件中测试的查询有问题。

这个特定的查询在 Firefox 插件中执行大约需要 60 毫秒,但是当我使用最新的 Sqlite JDBC 驱动程序在 Java 中使用相同的查询和相同的数据库时,它需要高达 3.7 秒的时间来执行。

对于我的其他运行良好的查询,Firefox 插件通常要快一点(顶部快 50 毫秒,有时 JDBC 更快),但这可能是创建连接并将结果添加到列表的开销,但这个特定查询的性能差异简直荒谬。

这是查询:

显然,慢的部分是“LIKE 'Juniors%'”,但这并不能解释为什么它在 Java 中很慢而不是在插件中。

如果我执行EXPLAIN QUERY PLAN,我会看到 firefox 插件对 Leagues 表使用以下索引: Columns: "Season, Name, RealName" (此查询中尚未使用 RealName)。

如果我在 Java 中执行EXPLAIN QUERY PLAN,用于 Leagues 表的索引是 INTEGER PRIMARY KEY 索引,我认为这就是问题所在。

在 java 中,我运行上面的查询,然后使用相同的连接我再次运行相同的查询两次,但是第二次用p1.Sex = 1p1.Sex = 2替换l1.Name LIKE 'Juniors%部分. 最后两个查询在这两种情况下都很快,这进一步证明问题来自l1.Name LIKE 'Juniors%'

我在所有表上都有主键,在所有需要它的列上有外键。我还有许多其他索引,因为我正在从头开始重新设计旧数据库,因为有很多重复的字段,我决定添加索引以使其更快,但在这种特殊情况下,我被卡住了,特别是因为它可以在一个案例,但不是另一个。是否有可能我对表的索引过于激进,这使得经理更难选择正确的索引?

随时询问有关表、列、查询等的更多信息。

编辑

Firefox 插件使用 SQLite 3.7.17,JDBC 驱动程序使用 SQLite 3.8.0。我尝试使用 3.7.20 JDBC 驱动程序(找不到 3.7.17 驱动程序的下载链接),我遇到了同样的性能问题,并且其他一些查询的性能更差,所以我切换回 3.8 .0.

我编辑了性能时间,因为我在基准测试时犯了一个错误:之前的时间是多次运行查询。因此,在 Firefox 中,执行一次查询大约需要 60 毫秒,而在 Java 中则需要 3600 毫秒,因此是 60 倍以上,这对我的应用程序来说是不可接受的。

这是来自 Java 查询执行的详细 EXPLAIN QUERY PLAN,其中各列按顺序排列:SelectId、Order、From、Detail:

如您所见,Leagues 使用整数主键,因此它完全忽略了其中包含“名称”的索引。

Firefox 插件的 EXPLAIN QUERY PLAN 是:

如您所见,表的顺序也不相同,实际上,所有表都使用 Java 中的 PRIMARY KEY 索引,而它们使用 Java 中似乎“更好”的索引,我认为这很奇怪。

*我尝试在 JOIN Leagues l1 之后使用 INDEXED BY idxLeaguesRealName *,但性能保持不变(可能是因为 SEARCH TABLE Leagues 在 Java 中位于底部而不是第一个表)。

idxLeaguesRealName 是关于 Season、Name、RealName 的索引,根据@CL 发布的此链接中的 5.3。是一个低质量指数,因为赛季对于 230 个不同的联赛只需要大约 4 个不同的值。我已经运行了ANALYZE命令,因此根据该链接,它应该可以解决使用低质量索引的问题。

我尝试的另一件事是创建一个新索引,该索引也使用主键字段(例如:Id、Season、Name),但 Query Planner 不使用它。我什至不知道将主键作为用户创建的索引中的字段之一是否是个好主意。我只是在尝试我能想到的一切,因为我在这里迷路了,因为我不了解运行查询的两种方式之间的性能差异。

其他几乎相同的查询的额外信息

正如我之前提到的,我运行其他几乎相同的查询,除了l1.Name LIKE 'Juniors%'被替换为p1.Sex = 1p1.Sex = 2。这些查询在 Firefox 中的执行时间约为 62 毫秒,在 Java 中为 52 毫秒,这意味着查询规划器在这个类似的查询上做得很好。

在 JDBC 中,EXPLAIN QUERY PLAN 给出以下输出:

这与原始查询的计划有很大不同,因为这个查询使用的索引似乎比其他情况下仅使用 PRIMARY KEYs 索引更有意义。

我刚刚检查过,我的应用程序中还有其他执行缓慢的查询。所有慢查询都是具有 'l1.Name LIKE 'Juniors%' 的查询,其他所有查询都运行得非常快。

我读过使用LIKE的查询运行缓慢,这会使我改变我设计一些表的方式,比如添加一个字段“IsJuniorLeague”并与之进行比较,这可能会解决问题,但因为我已经看到它可能使这些查询足够快,就像在 Firefox 插件中一样,我真的很想了解幕后发生的事情,因为我通常先在 Firefox 中测试我的查询,然后再在我的应用程序中尝试它们,因为这样更快。