如何使用python和sqlite3创建新数据库


71
import sqlite3

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

如果我连接时还不存在该数据库文件,是否可以自动创建该文件?


您是否在问SQLite3在创建新的空数据库时如何工作?
S.Lott

因此,如果不创建数据库,您想检查数据库是否在那里?
Euclid '02

Answers:




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文件夹。



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

0

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


3
虽然答案是正确的,恕我直言,它并没有增加任何价值:之前已经说过所有这些
cfi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.