在python中创建带有数据库名称的内存中sqlite数据库

问题描述:

我想在python中创建多个带有名称的内存中sqlite数据库。在python中创建带有数据库名称的内存中sqlite数据库

在sqlite的命令行有可能这样做与此语法:

':memory:' AS database_name 

但是在Python conenction字符串中使用它的时候是这样的:

con = sqlite3.connect("':memory:' AS database_name") 

出现错误。

我的问题是我们如何在内存数据库中创建多个名称用于访问它们。

我们如何在python中做到这一点?

AS子句仅适用于ATTACH statement,但不适用于主数据库(始终命名为main)。

而数据库的标识来自它的文件名,所以更改数据库名称将无济于事。

要使用的内存数据库自定义“文件”的名称,使用URI file namemode参数:

conn = sqlite3.connect("file:blah?mode=memory", uri=True) 

但对另一个内存数据库自定义数据库名称连接到同连接,只需执行ATTACH正常:

conn.execute("ATTACH ':memory:' AS db2") 
+0

你会告诉我一个我需要的例子吗? –