标签: sqlite

iPhone 的 Sqlite3 替代品

除了sqlite3之外,还有其他可以在iPhone上使用的数据库引擎吗?像textDb这样的东西适用于 PHP,单文件且无服务器。

sqlite iphone

0
推荐指数
1
解决办法
1845
查看次数

在 Sqlite 中将日期转换为字符串

有没有办法在 Sqlite 中将日期转换为字符串?例如,我试图获取 Sqlite 中的最短日期:

SELECT MIN(StartDate) AS MinDate FROM TableName
Run Code Online (Sandbox Code Playgroud)

我知道在 SQL Server 中我会使用下面的 SQL 来完成我想要做的事情:

SELECT CONVERT(VARCHAR(10), MIN(StartDate), 101) AS MinDate FROM TableName
Run Code Online (Sandbox Code Playgroud)

谢谢!

sql sqlite

0
推荐指数
1
解决办法
4万
查看次数

如何获取sqlite3中一列的所有值?

假设我像这样制作了一张桌子:

db.execute("""
    CREATE TABLE IF NOT EXISTS todos
    (id INTEGER PRIMARY KEY AUTOINCREMENT, 
     job TEXT, 
     duration TEXT, 
     category TEXT, 
     expected_completion TEXT)
    """)
Run Code Online (Sandbox Code Playgroud)

我将如何获得“工作”列的所有值?我知道我可以遍历每个条目或使用 pandas 库,但我很想知道是否有通过 SQLite 执行此操作的标准方法。

python sqlite python-2.7 python-3.x

0
推荐指数
1
解决办法
7806
查看次数

区分大小写,如 select SQLite

所以我有以下查询:

select username from users where username like 'aDam%'
Run Code Online (Sandbox Code Playgroud)

但这里的问题是它不区分大小写。此查询还将获得名为“adam%”、“Adam%”等的用户。

问题:如何只获得“aDam%”(使查询区分大小写)?

注意:% 运算符在这里很重要。

sql sqlite case-sensitive

0
推荐指数
1
解决办法
2215
查看次数

SQLite:如何将 memvfs 扩展嵌入到 Amalgamation 中?

我需要在内存缓冲区中加载/保存 SQLite 数据库。为此,我想将 memvfs 扩展嵌入到 sqlite3 代码中,并将其完全编译为 sqlite3.dll。

怎么办?

更新1:

我想使用 memvfs 作为临时内存缓冲区。我的程序将数据从网络加载到缓冲区,连接到这个内存缓冲区并将数据恢复到空的内存数据库中。我认为将 memvfs 包含到 sqlite 合并中会提高性能。

更新2:

如果您想使用 memvfs 扩展,请注意源代码中自述注释中的错误。使用“PRAGMA journal_mode= OFF ”代替“journal_mode=NONE”

更新3:

memvfs.c 中的另一个错误 - 对 URI 中的 maxsz 参数使用“max”而不是“maxsz”。sqlite 开发人员仔细设置了一个耙子 :(

sqlite vfs

0
推荐指数
1
解决办法
566
查看次数

sqlite3 插入的不完整输入错误

python 新手,正在练习一个小项目。我正在尝试将用户提供的数据(名字、姓氏、性别、年龄)或生成的数据(用户 ID、数学分数、口头分数)插入到 .db 文件中。一切运行顺利,直到实际插入,它给我“sqlite3.OperationalError:不完整的输入”。我的代码中是否有错误,还是应该使用不同的策略来保存这些?我还需要稍后回忆它们以获得基本的登录页面,所以请记住这一点。

class diag:
    quantitative_diagnostic = quantitative_diagnostic_percentage
    verbal_diagnostic = verbal_diagnostic_percentage

class user:
def __init__(self):
    user_ID
    forename
    surname
    sex
    age
    quantitative_diagnostic_percentage
    verbal_diagnostic_percentage

# user info storage
conn = sqlite3.connect('promethean_user.db')
c = conn.cursor()
c.execute("INSERT INTO promethean_user VALUES (:user_ID0, :forename, 
:surname, :age, :sex, :quant_diag, :verbal_diag",
      {'user_ID0': user.user_ID,
       'forename': user.forename,
       'surname': user.surname,
       'age': user.age,
       'sex': user.sex,
       'quant_diag': diag.quantitative_diagnostic,
       'verbal_diag': diag.verbal_diagnostic})
Run Code Online (Sandbox Code Playgroud)

预期将数据保存到 .db 文件,给出错误警告“qlite3.OperationalError:输入不完整”。错误警告位于“verbal_diag”:代码的 diag.verbal_diagnostic 部分

python sql sqlite input

0
推荐指数
1
解决办法
2796
查看次数

打破 sqlite 查询的简单 WHERE 子句

我在这里有一个工作查询:

SELECT tlt.name AS theme, COUNT(*) AS nsets
    FROM tlt
    INNER JOIN sets
    ON tlt.id = sets.theme_id
    GROUP BY tlt.name
    ORDER BY nsets DESC;
Run Code Online (Sandbox Code Playgroud)

但是当我添加 WHERE 子句时,sqlite 在 WHERE 子句“附近”抛出一个语法错误

SELECT tlt.name AS theme, COUNT(*) AS nsets
    FROM tlt
    INNER JOIN sets
    ON tlt.id = sets.theme_id
    GROUP BY tlt.name
    ORDER BY nsets DESC;
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么这个简单的 WHERE 子句会破坏这个查询。

sql sqlite

0
推荐指数
1
解决办法
44
查看次数

如何在颤动沼泽中为双值创建列

我将 flutter_moor 用于 SQLite 数据库。我有一个问题,我需要一个带有两位小数的双倍货币金额列。

我发现有一个 RealColumn,但不知道如何正确实现它。

/// A column that stores floating point numeric values./// 

    abstract class RealColumn extends Column<double, RealType> {}
Run Code Online (Sandbox Code Playgroud)

这是表的样子:

class MyClass extends Table {

    IntColumn get int => integer().autoIncrement()();

    TextColumn get title => text().withLength(min: 1, max: 35)();

    TextColumn get description => text().withLength(min: 0, max: 50)();

    TextColumn get categorie => text().withLength(min: 1, max: 35)();

    RealColumn get amount => double()();

    DateTimeColumn get date => dateTime()();
}
Run Code Online (Sandbox Code Playgroud)

RealColumn 上的 double() 不起作用。我认为它与 int 或 text 相同。我没有在文档和网络中找到解决方案。
我的问题是,让金额列工作的正确方法是什么?

非常感谢您的帮助。


----编辑:---- …

sqlite flutter flutter-moor

0
推荐指数
1
解决办法
1708
查看次数

Node.js SQLite 调用返回 SQLITE_ERROR:没有这样的表

我正在使用 JavaScript 中的 Node.js 在 SQLite 3.2.1 中设置一个包含客户数据的数据库。

错误SQLITE_ERROR: no such table: T_KUNDENDATEN_DE不断返回。从错误中我了解到可以联系数据库。SQL 查询有效,变量vornamenachname在 URL 中正确捕获并传递给 db.all 构造函数。但它返回错误。在调试模式下,我无法弄清楚这里出了什么问题。

表 T_KUNDENDATEN_DE 不是新表,其中有数据。

有什么建议可以解决这个问题吗?

用于调用的 URL app.get('/cdata'http://localhost:8000/cdata?vorname=ralf&nachname=ruf

[![表和数据库][1]][1]
// Create express app
var express = require("express")
var app = express()
var DateObj= new Date()
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database('KundendatenJS.db');
// Server port
var HTTP_PORT = 8000 
// Start server
app.listen(HTTP_PORT, () => {
    console.log("Server running on port %PORT%".replace("%PORT%",HTTP_PORT))
});
// …
Run Code Online (Sandbox Code Playgroud)

javascript sqlite rest node.js

0
推荐指数
1
解决办法
1934
查看次数

如何从 Electron 前端进行数据库调用?

(这里是全新的学习电子,所以我确定这是一个基本问题,我错过了一些基本的东西......)

如何从 Electron 应用程序前端与本地数据库(我使用的是 Sqlite)交互?我有一个非常基本的数据库管理器类,index.js在我的 Electron 应用程序的文件中使用它没有问题。但是从前端(我使用的是 Svelte,但我可能可以翻译其他前端框架的解决方案),如何与数据库交互?这似乎很基本,但我试图找到一个基本的例子。

由于一切都是本地的,似乎没有必要设置一个完整的 API 来来回编组数据,但也许是这样?但如果是这样,如何告诉 Electron“后端”(如果这是正确的术语)做某事并将结果返回到前端?我看到了一些关于 IPC 的东西,但现在这没有多大意义,而且似乎有点矫枉过正。

这是我的简单数据库管理器类:

const sqlite3 = require("sqlite3").verbose();

class DbManager {
  #db;
  open() {
    this.#db = new sqlite3.Database("testing.db", sqlite3.OPEN_READWRITE);
  }
  close() {
    this.#db.close();
  }
  run(sql, param) {
    this.#db.run(sql, param);
    return this;
  }
}

const manager = new DbManager();
module.exports = manager;
Run Code Online (Sandbox Code Playgroud)

我可以调用它并从 Electron 入口点做任何没有问题的事情index.js

const { app, BrowserWindow, screen } = require("electron");
require("electron-reload")(__dirname);
const db = require("./src/repository/db");

const createWindow = () => {
   ...
}; …
Run Code Online (Sandbox Code Playgroud)

sqlite electron svelte

0
推荐指数
1
解决办法
790
查看次数