当前位置:  开发笔记 > 编程语言 > 正文

Python中的sqlite3

如何解决《Python中的sqlite3》经验,为你挑选了1个好方法。

如何检查数据库文件是否已存在?并且,如果它存在,我如何检查它是否已经有一个特定的表?



1> Mark Rushako..:

要查看数据库是否存在,您可以sqlite3.connect使用您认为包含数据库的文件,并尝试对其运行查询.如果它不是数据库,您将收到此错误:

>>> c.execute("SELECT * FROM tbl")
Traceback (most recent call last):
  File "", line 1, in 
sqlite3.DatabaseError: file is encrypted or is not a database

sqlite3.connect 如果数据库不存在,创建数据库; 正如@johnp在评论中指出的那样,os.path.exists会告诉你文件是否存在.

要检查现有表,请查询sqlite_master.例如:

>>> def foo(name):
...     for row in c.execute("SELECT name FROM sqlite_master WHERE type='table'"):
...             if row == (name,):
...                     return True
...     return False
... 
>>> foo("tz_data")
True
>>> foo("asdf")
False

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有