如何在sqlite 3中创建表?

0 投票
3 回答
2847 浏览
提问于 2025-04-16 07:59

我刚下载了sqlite3.exe,打开后是一个命令提示符。我创建了一个叫做test的表,并插入了一些数据。为了保险起见,我还用了.backup test。但是当我用.exit退出程序后再重新打开时,我发现表格在.tables里找不到,也无法对它进行任何查询。

我需要快速运行一个开源的Python程序,它需要用到这个表。虽然我之前用过MySQL,但对sqlite一点都不了解。我需要一些sqlite的基本知识。有没有人能指导我一下,或者至少告诉我怎么才能永久保存我的表格。

我把这个sqlite3.exe放在Python文件夹里,以为这样Python就能读取sqlite文件。对此有什么建议吗?

3 个回答

0

只需执行 sqlite3 foo.db 命令就可以了?这样做会把你之后所有的操作永久保存到这个文件里。(不需要使用 .backup 命令。)

1

你为什么要下载 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

4

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()

撰写回答