Sqlite3 - как указать имя базы данных с помощью команды .databases?

Я более свежий из рельсов и SQLite.

Вот мой сценарий: Я установил sqlite3 на моем компьютере с Windows Vista. Код приложения блога также был реализован в c:\rails\blog. Я вывел свою командную строку и перешел непосредственно к c:\rails\blog\db. Я запустил команду sqlite3, чтобы войти в консоль базы данных. когда я использовал команду .databases, база данных не была указана? Зачем? Что я сделал неправильно?

Ответы

Ответ 1

Вероятно, вы не открыли базу данных

sqlite3 database.db

Помните, что в SQLite база данных - это просто файл. Пока вы не открываете или attach один, нет открытого. С другой стороны, когда вы просто открываете базу данных .databases, это кажется бесполезным, потому что вы знаете, какой из них вы только что открыли.

Ответ 2

Вы должны указать имя базы данных (путь и) для команды sqlite3, например

Dev e$ sqlite3 my_test.db
SQLite version 3.7.7 2011-06-23 19:49:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /Users/e/Dev/my_test.db                                   
sqlite> 

Ответ 3

При запуске sqlite3 без параметров создается временная база данных, которая будет уничтожена сразу после выхода программы. Это то, что вы сделали.

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

$ sqlite3 my.db