如何使用python和sqlite3创建一个新的数据库(名为xx.db)
问题描述:
import sqlite3
conn = sqlite3.connect(r"D:\aaa.db")
如果在连接数据库时它尚不存在,是否有自动创建db文件的方法?如何使用python和sqlite3创建一个新的数据库(名为xx.db)
感谢
答
你给不创建'D:\\aaa.db'
如果它不存在的代码。
答
很确定.connect会创建文件,如果它不存在。
答
如果没有自动创建它,请确保您有正确的
答
.connect应动态创建一个新的数据库文件的目录的权限,给予子目录确实存在,并且有足够的应用权限。
+3
尽管答案是正确的,但它并没有增加任何价值:以前都说过 – cfi 2013-09-11 16:51:13
答
import sqlite3
conn=sqlite3.connect('xx.db')
print "Database created and opened succesfully"
答
如前所述,如果您有权限为此路径编写代码,则您的代码应该可以工作。但是,重要的是目录必须存在。如果您呼吁不存在的文件夹:
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文件夹,那么第二个将不起作用。
您是否问SQLite3如何创建一个新的空数据库? – 2010-02-03 03:08:13
所以你想检查数据库是否存在,如果不创建它? – Euclid 2010-02-03 03:09:59