如何在sqlite 3中创建表?
我刚下载了sqlite3.exe,打开后是一个命令提示符。我创建了一个叫做test的表,并插入了一些数据。为了保险起见,我还用了.backup test
。但是当我用.exit
退出程序后再重新打开时,我发现表格在.tables
里找不到,也无法对它进行任何查询。
我需要快速运行一个开源的Python程序,它需要用到这个表。虽然我之前用过MySQL,但对sqlite一点都不了解。我需要一些sqlite的基本知识。有没有人能指导我一下,或者至少告诉我怎么才能永久保存我的表格。
我把这个sqlite3.exe放在Python文件夹里,以为这样Python就能读取sqlite文件。对此有什么建议吗?
3 个回答
只需执行 sqlite3 foo.db
命令就可以了?这样做会把你之后所有的操作永久保存到这个文件里。(不需要使用 .backup
命令。)
你为什么要下载 sqlite3.exe 呢?其实,Python 自带了 sqlite3,你只需要用 import sqlite3
就可以了,只要你的 Python 版本比较新。
关于你的问题:我猜 sqlite3 默认是在内存中创建一个表。使用 Python 的话,你需要用 dbConn = sqlite3.connect("somefile")
来连接到一个数据库。然后,你可以用 dbCursor = dbConn.cursor()
来连接这个文件。这个游标可以通过调用它的 execute(command) 方法来执行 SQL 命令。例如:
dbConn.execute("create table test (row text, otherrow real)")
最后,你需要调用 dbConn.commit()
来保存你在数据库中所做的所有更改。
想了解更多信息,可以查看 Python 的文档:http://docs.python.org/library/sqlite3.html
sqlite是Python自带的一个功能。
你可以像这样访问你的表格:
import sqlite3
conn = sqlite3.connect('/path/to/my.db')
curs = conn.cursor()
curs.execute("SELECT a_column FROM my_table;").fetchone()
curs.close()
conn.close()
你也可以通过Python来执行你的数据定义语言(DDL)语句。
记得要commit
(提交)更改哦。
curs.execute("CREATE TABLE my_table (a_column text);")
conn.commit()