标签: sqlite

在 sqlite 中存储图像 - Django

我是 Django 和数据库的新手。

Django 使用 sqlite 数据库作为默认数据库。是否可以将图像存储在 sqlite 数据库中并将其显示在我的网页上?我在 Django 官方网站上找不到任何相关文档。

python sqlite django django-models django-views

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

SQLite:从路径列表创建目录结构表

我想创建一个目录结构表,如本问题所述,其中:

Directory =“主键”id 字段,通常是整数
Directory_Parent =“外键”id 字段,它指向同一个表中另一个目录的 id
Value =包含

给定Tree/Fruit/Apples/ 的目录/文件夹名称的字符串

Directory | Directory_Parent | Value
0           null               Root
1           0                  Tree
2           1                  Fruit
3           2                  Apples
Run Code Online (Sandbox Code Playgroud)

已在主键 0 处创建了一个父文件夹为空的根文件夹。


我的路径是从 CSV 导入的,当前位于包含 2 列的表中:

 FileID  Path
      1  videos/gopro/father/mov001.mp4
      2  videos/gopro/father/mov002.mp4
      3  pictures/family/father/Oldman.jpg
      4  pictures/family/father/Oldman2.jpg
      5  documents/legal/father/estate/will.doc
      6  documents/legal/father/estate/will2.doc
      7  documents/legal/father/estate/newyork/albany/will.doc
      8  video/gopro/father/newyork/albany/holiday/christmas/2002/mov001.mp4
      9  pictures/family/father/newyork/albany/holiday/christmas/2002/july/Oldman.jpg
      10 pictures/family/father/newyork/albany/holiday/christmas/2002/june/Oldman2.jpg
Run Code Online (Sandbox Code Playgroud)

该表包含 100 万个文件条目。
如上所述,解析此数据并将文件夹结构移动到新表中的快速且优化的方法是什么?

在此演示中,文件夹由“/”分隔并移动到新列中(如果有帮助的话)。

database csv sqlite directory structure

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

外键不起作用 - sqlite3.OperationalError:外键定义中未知列“user_id”

sqlite3.OperationalError:外键定义中未知列“user_id”

    # create details table
    details_table = """CREATE TABLE IF NOT EXISTS
    details(
    user_id INTEGER PRIMARY KEY,
    first_name TEXT,
    surname TEXT,
    role TEXT,
    make TEXT,
    model TEXT,
    colour TEXT,
    reg TEXT)"""

    cursor.execute(details_table)

    # create booking table
    booking_table = """CREATE TABLE IF NOT EXISTS
    booking(
    booking_id INTEGER PRIMARY KEY,
    FOREIGN KEY (user_id) REFERENCES details(user_id),
    start_date TEXT,
    expiry_date TEXT)"""
    
    cursor.execute(booking_table)
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助:)

python sql database sqlite key

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

R:DuckDB DBconnect 非常慢 - 为什么?

我有一个包含柱状数字和字符串(磁盘上 13GB)的 *.csv 文件,我将其导入到新的 duckdb(或 sqlite)数据库中并将其保存,以便稍后可以在 R 中访问它。但是重新连接会重复它并且非常慢,这是错误的吗?

在 R 内部,我正在执行以下操作:

library(duckdb)
library(dplyr)
library(DBI)

#Create the DB
con <- dbConnect(duckdb::duckdb(), "FINAL_data.duckdb")

#Read in the csv
duckdb_read_csv(con, "data", "FINAL_data_new.csv") 
Run Code Online (Sandbox Code Playgroud)

然后我关闭 R 并重新启动它以查看它是否有效:

#这非常慢(大约10分钟),因为它看起来像是在某个地方再次写入数据库。但为什么?

con <- dbConnect(duckdb::duckdb(), "FINAL_data.duckdb")
Run Code Online (Sandbox Code Playgroud)

注意。我添加了 sqlite 作为标签,因为我认为这不是 duckdb 所特有的

sqlite r duckdb

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

将字符串、文件内容、字符串通过管道传输到 SQLite 中,而无需中间文件?

我有这个 shell 脚本,它采用一组 INSERT 语句,并在开头放置“BEGIN TRANSACTION”,在末尾放置“COMMIT”。有很多INSERT语句,因此这使得插入速度更快。

我成功使用的脚本如下所示:

file_name_improved_sql=foo-improved.sql
file_name_original_sql=foo.sql
file_name_sqlite_db=bar.db
path_to_insert_error=/tmp/fooerrors.log
#
echo 'BEGIN TRANSACTION;' | cat - $file_name_original_sql  > $file_name_improved_sql
echo "COMMIT;" >> $file_name_improved_sql
#
cat $file_name_improved_sql | sqlite3 $file_name_sqlite_db 2> $path_to_insert_error
Run Code Online (Sandbox Code Playgroud)

我想改进这一点,以便不生成中间文件file_name_improved_sql,而是直接通过管道输入两个字符串和文件内容。

像这样的东西(除了这不起作用)......

export string1="BEGIN TRANSACTION"
export string2="COMMIT"
cat $string1 $file_name_improved_sql $string2 | sqlite3 $file_name_sqlite_db 2> $path_to_insert_error
Run Code Online (Sandbox Code Playgroud)

sqlite bash shell pipe

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

如何让我的 Streamlit 应用程序使用 Flask API 来检索数据?

所以我目前是使用 Flask api 的新手,我只是想知道如何将 Streamlit 应用程序连接到 Flask api?就像我希望 Streamlit 应用程序使用 Flask api 来提取数据库一样。目前,我的 Streamlit 应用程序位于一个文件夹中,并且包含一个 dockerfile。我的 Flask api 放在一个单独的文件夹中。

Main Folder
   Flask-API Folder
      - main.py
      - requirements.txt
      - table1.db
   Streamlit application Folder
      - app.py
      - Dockerfile
      - more python files
      - requirements.txt
Run Code Online (Sandbox Code Playgroud)

例如,如果用户单击在 Streamlit 上生成图表的复选框,我如何才能让 Streamlit 应用程序进入 Flask-api 文件夹(联系 api)并获取/拉取数据库。我只是想知道我需要将什么添加到我的flask-api 文件夹中的main.py 文件中。

注意:我尝试让 Streamlit 应用程序联系 Flask api 的目的是因为现在 Streamlit 应用程序正在联系另一个 API,并且需要一段时间才能生成图表。

python sqlite flask streamlit

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

.NET 6 实体框架的新 LINQ 功能

在.NET 6中有一些不错的新LINQ扩展方法,例如

var oldest = context.People.MaxBy(p => p.Age);
Run Code Online (Sandbox Code Playgroud)

但是,EF 提供程序似乎尚不支持这些功能(当然不支持 SQLite 或 SQLServer,两者都是 6.0.0 版本)。

有谁知道这些提供商计划何时提供这些服务?

linq sql-server sqlite entity-framework .net-6.0

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

如何在 SQLite 3.31.1 中启用严格模式?

require a datatype on every table column and enforce those types.我正在尝试按照此页面启用严格模式。

$ sqlite3 ./a_new_database.sqlite
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
sqlite> PRAGMA strict=ON;
sqlite> CREATE TABLE yay ( col1 TEXT, col2 INT );
sqlite> INSERT INTO yay ( col1, col2 ) VALUES ("this works", "this is the wrong type");
sqlite> SELECT * from yay;
this works|this is the wrong type
sqlite> 
$ 
Run Code Online (Sandbox Code Playgroud)

我不仅可以INSERT错误的数据类型。我也可以SELECT

我已经尝试过了PRAGMA strict=ON;并且PRAGMA strict=1; …

sql sqlite

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

使用子查询和 ON CONFLICT 进行 INSERT INTO

我想将 JSON 数组中的所有元素插入到表中:

INSERT INTO local_config(parameter, value)
SELECT json_extract(j.value, '$.parameter'), json_extract(j.value, '$.value')
FROM json_each(json('[{"parameter": 1, "value": "value1"}, {"parameter": 2, "value": "value2"}]')) AS j
WHERE value LIKE '%'
ON CONFLICT (parameter) DO UPDATE SET value = excluded.value;
Run Code Online (Sandbox Code Playgroud)

到目前为止这有效,但我真的需要这个WHERE value LIKE '%'条款吗?

当我删除它时:

INSERT INTO local_config(parameter, value)
SELECT json_extract(j.value, '$.parameter'), json_extract(j.value, '$.value')
FROM json_each(json('[{"parameter": 1, "value": "value1"}, {"parameter": 2, "value": "value2"}]')) AS j
ON CONFLICT (parameter) DO UPDATE SET value = excluded.value;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

[SQLITE_ERROR] SQL error or missing database (near …
Run Code Online (Sandbox Code Playgroud)

sqlite upsert on-clause sql-update sql-insert

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

为什么Delphi在SQLite Select语句中找不到&amp;字符?

有人知道为什么 Delphi 10.4 或 11.1 无法在 FMX 应用程序中的&SQLite 语句中搜索字符吗?SELECT它被视为一个空格字符。

我确实在其他平台上尝试过相同的数据库,它工作得很好,但即使在 VCL 应用程序中它也不会搜索。

我确实尝试在查询末尾使用 ESCAPE,但没有任何改变。

var myQuery      : TFDQuery   ;

myQuery :=TFDQuery.Create(nil);
myQuery.Connection:=FDConnection1;
myQuery.SQL.Text :='SELECT Description,Code,Qty FROM Products WHERE Description LIKE "%J&B%" ';
myQuery.Open;
Run Code Online (Sandbox Code Playgroud)

如果有人能找到解决方案,请帮忙。

delphi sqlite select

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