问题标签 [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.
sqlite - 如何在 DB Browser for SQLite 中设置 PK:FK 关系?
我在 SQLite 的 DB 浏览器中,看不到任何设置 PK:FK 关系的方法。它可以做到吗?
谢谢 - 戴夫
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 数据库中。
太感谢了。我将衷心感谢您的帮助。
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
保护的压缩到一个受保护的压缩文件中,因为我似乎可以做到这一点(链接)。这次编辑的目的是获得关于如何解决我的问题的新想法。谢谢
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 的东西,但我不知道如何添加它们。将不胜感激任何帮助!
android - SQLite 存在数据库
我想显示在DB Browser中创建的数据库中的所有数据,但出现这些错误。我找不到解决方案。请帮助我,这对我的项目非常重要。也许有一个错字错误。
我的课程是 DBHelper:
MainActivity 是:
这两个是我使用的类,Logcat说这两个类中的问题。我是新手,我需要一些指导来解决我的错误。请以任何方式帮助我。先感谢您
python - 从 SQL 导入 python 时出现磁盘 I/O 错误
这是我编写的代码,用于尝试将我在 DB Browser for SQ Lite 中编写的现有查询导入 python。但是,我收到一条错误消息,上面写着 sqlite3.OperationalError: disk I/0 Error 并声称存在 pandas.io.sql.Databased 错误,并且在 sql 上执行失败。知道为什么会这样吗?
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,但不确定如何执行此操作
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。这是我唯一更改的内容,添加该行来修复日期,这完全消除了我的表。我写错了最大线吗?
sql - SQL 中的 IN 语句仅返回第一个值
我用 SQL 编写了代码来从两个单独的表中提取数据并将它们连接在一起。我正在尝试使用 IN 语句来限定我的结果,以便只显示与某些交易对手的交易。
但是,当我在 DB Browser for SQL 中运行此查询时,只会出现与 COUNTERPARTY 'A' 的交易,尽管我知道我们也与交易对手 B 和 C 进行了交易。我究竟做错了什么?
sql - 在两个日期之间制作 SQL 中的日期
我在 DB Browser for SQLite 中工作,并编写了一个查询:
我的目标是量化 MATURITY_DATE,这样当我运行 SQL 查询时,我只能在 2018 年 6 月 22 日和 2099 年 12 月 30 日之间获得与 MATURITY_DATE 的交易。但是,我不确定要添加哪条线才能实现这一目标。但是,当我添加该行时
在我的 order by 语句之上和 where 语句之下,我运行它时没有得到任何输出。我将如何正确地做到这一点?