Как создать таблицы в sqlite 3? - PullRequest
0 голосов
/ 03 декабря 2010

Я только что скачал sqlite3.exe. Он открывается как командная строка. Я создал тест таблицы и вставил в нее несколько записей. Я использовал .backup test на всякий случай. После того как я выйду из программы, используя .exit, и снова открою ее, я не нахожу таблицу, указанную в .tables, и не могу выполнить какой-либо запрос к ней.

Мне нужно быстро запустить Python-программу с открытым исходным кодом, которая использует эту таблицу, и хотя я работал с MySQL, я понятия не имею о sqlite. Мне нужны минимальные основы sqlite. Может ли кто-нибудь провести меня через это или хотя бы подсказать, как хранить мои таблицы на постоянной основе.

Я поместил этот sqlite3.exe в папку Python, предполагая, что python сможет читать файлы sqlite. Есть идеи по этому поводу?

Ответы [ 3 ]

4 голосов
/ 03 декабря 2010

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

Вы также можете выполнять свои операторы DDL из Python.
Обязательно commit внесите изменения.

curs.execute("CREATE TABLE my_table (a_column text);")
conn.commit()
1 голос
/ 03 декабря 2010

Почему вы вообще скачали sqlite3.exe? Python должен поставляться с sqlite3 уже на борту. import sqlite3 - это все, что вам нужно сделать, если у вас есть недавний дистрибутив Python. К вашей проблеме: я бы предположил, что sqlite3 создает таблицу в памяти по умолчанию. Используя Python, вам нужно dbConn = sqlite3.connect("somefile") для подключения к базе данных. Затем вы можете использовать dbCursor = dbConn.cursor() для подключения к этому файлу. Курсор может выполнять команды SQL, вызывая его метод execute (command). Например: dbConn.execute("create table test (row text, otherrow real)") Наконец, вам нужно позвонить dbConn.commit(), чтобы сохранить все, что вы изменили в базе данных. Документация Python знает все остальное: http://docs.python.org/library/sqlite3.html

0 голосов
/ 03 декабря 2010

Просто выполнить sqlite3 foo.db? Это навсегда сохранит все, что вы делаете потом в этом файле. (Нет необходимости в .backup.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...