Sunday, 13 August 2006

URL for SQLite in SQLAlchemy

SQLAlchemy在线文档上,连接SQLite数据库的URL写法,有三种:

# sqlite (note the four slashes for an absolute path)
sqlite_db = create_engine('sqlite:////absolute/path/to/database.txt')
sqlite_db = create_engine('sqlite:///relative/path/to/database.txt')
sqlite_db = create_engine('sqlite://') # in-memory database

这三种写法涵盖了Unix系统下的所有情况。

在Windows系统下,使用相对路径和内存数据库时的URL,和前面是一致的。Windows和Unix的区别之一,就是Windows有盘符。在使用绝对路径时,如果Python程序和SQLite文件在同一个分区里,这时省略盘符(C: or D:),前面的写法依然有效。

如果一定要在URL中包含盘符,需写成这样:

db = create_engine('sqlite:///C:\\absolute\\path\\to\\database.txt')

或者

db = create_engine('sqlite:///C:/absolute/path/to/database.txt')

Python程序中,必须用'\\';如果是配置文件,单个'\'就行了。相对路径的URL,也是使用'\\'和'/'都能正常工作。

SQLite内存数据库的另外一种有效形式是:

db = create_engine('sqlite:///:memory:')

0 Comments:

Post a Comment

<< Home