问题标签 [db-browser-sqlite]

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 回答
2391 浏览

sqlite - 如何在 DB Browser for SQLite 中设置 PK:FK 关系?

我在 SQLite 的 DB 浏览器中,看不到任何设置 PK:FK 关系的方法。它可以做到吗?

谢谢 - 戴夫

0 投票
2 回答
1264 浏览

sqlite - SQLite 数据库显示问号 (???) 而不是这些 Unicode 字符 (தமிழ்)

我将一个包含 Unicode 的 CSV 文件导入到 SQLite 数据库中,但我没有看到文本,而是看到了问号。像这样, ”???”。编码是 UTF-8(我在下面提到了我尝试 UTF-16 时发生的事情)。我使用的 SQLite 管理器是 DB Browser for SQLite。

这是我输入的 Unicode:தமிழ்</p>

现在,根据Stackoverflow 中的这个答案,SQLite 将文本数据存储为 Unicode。所以我的文本是 Unicode 的事实不可能是问题。

我尝试使用的字符属于泰米尔语。我正在尝试将它与 Unicode 一起使用。根据维基百科,泰米尔语的编码称为 TACE16。它是基于 16 位 Unicode 的字符编码。

因此,当我导入 CSV 文件时,我将编码设置为 UTF-16。但是当我这样做时,导入后该文件甚至没有出现在数据库中。但它说导入成功。

然后我尝试像往常一样使用 UTF-8 编码导入 CSV 文件。但导入后我右键单击行标题,选择“设置编码”并将其设置为 UTF-16。现在它没有显示问号,但它显示了类似汉字的东西。这就是它现在显示的内容:㼿㼿。

我尝试在导入时设置 TACE16。我也尝试手动设置。但它说它要么是不正确的编码,要么是不受支持的。

进一步在网上搜索并没有发现任何东西。有人可以告诉我如何解决这个问题吗?基本上,我希望这个文本“தமிழ்”在导入包含文本的 CSV 文件后显示在 SQLite 数据库中。

太感谢了。我将衷心感谢您的帮助。

0 投票
2 回答
13031 浏览

python - 如何使用 Python 连接到受保护的 Sqlite3 数据库

SQLite3由于应用程序,我创建了一个数据库并用密码(“测试”)保护它DB browser for SQLite。为了通过 连接到我的数据库Python,我需要提供密码,但我不知道该怎么做。我尝试了以下代码:

编辑:

我的SQLite3数据库已被加密SQLCipher(见图)。 在此处输入图像描述 如果我运行以下代码:

我收到此错误:

如何传递密码以db通过 Python 与我的连接?

编辑 2

这里简要总结了我试图实现的目标。我正在开发一个Python 3需要预填充数据库的应用程序,但该数据库需要使用密码保护。经过广泛研究,SQLite3通过Python 3. 存在一个库调用pysqlcipher,但仅适用于 Python 2.7。我的下一个问题可能过于笼统,我提前道歉。是否存在另一个便携式数据库,允许我用密码保护它并且仍然可以访问 Python?为了解决我的问题,我想到的另一个想法是使用该zipfile库。此链接提到该zipfile模块不支持加密,但不清楚加密是否指的是SQLite3数据库或压缩文件。这个想法是将我不受DB保护的压缩到一个受保护的压缩文件中,因为我似乎可以做到这一点(链接)。这次编辑的目的是获得关于如何解决我的问题的新想法。谢谢

0 投票
1 回答
1241 浏览

ubuntu - 18.04 ubuntu sqlitebrowser 无法启动

我是 ubuntu 的新手,我无法启动 db 浏览器,在我看来我缺少库,但我不知道如何添加它们,因为我是菜鸟。当我在终端输入 sqlitebrowser 时,我得到:

sqlitebrowser:加载共享库时出错:libQt5Network.so.5:无法打开共享对象文件:没有这样的文件或目录

当我输入我得到的 sqlitebrowser 时:

/usr/bin/sqlitebrowser

当我输入 ldd 'which sqlitebrowser' 我得到:

linux-vdso.so.1 (0x00007ffd22d58000) libQt5Network.so.5 => 未找到 libQt5Xml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5 (0x00007fb17b1e0000) libsqlcipher.so.0 => /usr/lib/x86_64-linux-gnu/libsqlcipher.so.0 (0x00007fb17af09000) libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007fb17ac9a000) libQt5Widgets.so .5 => 未找到 libQt5Gui.so.5 => 未找到 libQt5Core.so.5 => 未找到 libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb17a90c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb17a56e000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb17a356000) libc。 so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb179f65000) libQt5Core.so.5 =>未找到 libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fb179aed000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 ( 0x00007fb1798ce000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb1796ca000) /lib64/ld-linux-x86-64.so.2 (0x00007fb17bb50000) libQt5Widgets.so.5 =>未找到 libQt5Gui.so.5 => 未找到 libQt5Core.so.5 => 未找到

所以我认为我错过了那些 libQt5 的东西,但我不知道如何添加它们。将不胜感激任何帮助!

0 投票
1 回答
40 浏览

android - SQLite 存在数据库

我想显示在DB Browser中创建的数据库中的所有数据,但出现这些错误。我找不到解决方案。请帮助我,这对我的项目非常重要。也许有一个错字错误。

我的课程是 DBHelper:

MainActivity 是:

这两个是我使用的类,Logcat说这两个类中的问题。我是新手,我需要一些指导来解决我的错误。请以任何方式帮助我。先感谢您

0 投票
1 回答
1232 浏览

python - 从 SQL 导入 python 时出现磁盘 I/O 错误

这是我编写的代码,用于尝试将我在 DB Browser for SQ Lite 中编写的现有查询导入 python。但是,我收到一条错误消息,上面写着 sqlite3.OperationalError: disk I/0 Error 并声称存在 pandas.io.sql.Databased 错误,并且在 sql 上执行失败。知道为什么会这样吗?

0 投票
1 回答
8547 浏览

sql - SQL 查询中日期的 Case When 语句

我正在尝试修复我的 SQL 表中的一些日期。为了上下文,我将“贸易详情”和“贸易详情 2”这两个表连接在一起。“贸易详情 2”中的一列是“START_DATE”,其日期可以追溯到 2000 年初,格式为 2010-05-08。我希望将 2018 年 6 月 22 日之前的每个 START_DATE 都设为 2018 年 6 月 22 日。目前,我的代码如下:

我相信我需要的是一个 CASE WHEN 声明,我在其中说:

然而,当我尝试这个时,我得到了一个错误,我猜这行代码的某些部分是错误的。但是,由于这是一个日期,我不知道大于/小于符号是否就足够了,而且我不确定在哪里放置这个语句,或者即使这个语句是完全正确的。但是,这是我的问题的要点。我相信这与这里的其他问题不同,因为它处理的是日期而不是简单的数字。

TLDR;试图将 2018-06-22 之前的日期转换为 2018-06-22,但不确定如何执行此操作

0 投票
1 回答
18 浏览

db-browser-sqlite - 添加一行代码删除我的整个表 SQL

我正在尝试修复我的 SQL 表中的一些日期。为了上下文,我将“贸易详情”和“贸易详情 2”这两个表连接在一起。“贸易详情 2”中的一列是“START_DATE”,其日期可以追溯到 2000 年初,格式为 2010-05-08。我希望将 2018 年 6 月 22 日之前的每个 START_DATE 都设为 2018 年 6 月 22 日。目前,我的代码如下:

我认为这在理论上应该有效,但由于某种原因它不是。我添加了 max(date) 行,我的表从 19000 行变为 0。这是我唯一更改的内容,添加该行来修复日期,这完全消除了我的表。我写错了最大线吗?

0 投票
1 回答
53 浏览

sql - SQL 中的 IN 语句仅返回第一个值

我用 SQL 编写了代码来从两个单独的表中提取数据并将它们连接在一起。我正在尝试使用 IN 语句来限定我的结果,以便只显示与某些交易对手的交易。

但是,当我在 DB Browser for SQL 中运行此查询时,只会出现与 COUNTERPARTY 'A' 的交易,尽管我知道我们也与交易对手 B 和 C 进行了交易。我究竟做错了什么?

0 投票
1 回答
31 浏览

sql - 在两个日期之间制作 SQL 中的日期

我在 DB Browser for SQLite 中工作,并编写了一个查询:

我的目标是量化 MATURITY_DATE,这样当我运行 SQL 查询时,我只能在 2018 年 6 月 22 日和 2099 年 12 月 30 日之间获得与 MATURITY_DATE 的交易。但是,我不确定要添加哪条线才能实现这一目标。但是,当我添加该行时

在我的 order by 语句之上和 where 语句之下,我运行它时没有得到任何输出。我将如何正确地做到这一点?