如何使用python和sqlite3创建一个新的数据库(名为xx.db)

时间:2010-02-03 03:04:34

标签: python sqlite

import sqlite3

conn = sqlite3.connect(r"D:\aaa.db")

有没有办法自动创建db文件,如果它连接到它时它还不存在?

感谢

6 个答案:

答案 0 :(得分:96)

如果不存在,您提供的代码创建'D:\\aaa.db'

答案 1 :(得分:9)

如果未自动创建,请确保您具有正确的目录权限

答案 2 :(得分:6)

如前所述,如果您有权为此路径编写代码,则代码应该可以正常工作。但是,目录必须存在非常重要。如果您拨打不存在的文件夹:

conn = sqlite3.connect(r"D:\Some new non-existing folder\aaa.db")

它不起作用,你将有

sqlite3.OperationalError: unable to open database file. 

相对路径也是如此:

1) conn = sqlite3.connect(r"aaa.db") 
2) conn = sqlite3.connect(r"Some new folder\aaa.db")

首先将始终有效,因为您在现有目录中工作,如果您事先没有创建te文件夹,则第二个将无效。

答案 3 :(得分:4)

非常肯定.connect会在不存在的情况下创建文件。

答案 4 :(得分:2)

import sqlite3
conn=sqlite3.connect('xx.db')
print "Database created and opened succesfully"

答案 5 :(得分:0)

.connect应该动态创建一个新的数据库文件,给定子目录确实存在,并且你有足够的权限。