Создать базу данных sqlite3 по запросу - PullRequest
21 голосов
/ 05 мая 2010

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

$ sqlite3 test.db
sqlite3 test.db
test.db

требуется ли в конце точка с запятой или так сложно создать файл базы данных, используя приглашение sqlite3?

Edit:

Когда я запускаю приглашение sqlite3, я получаю

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

когда получаю тип "sqlite3 test.db",

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> sqlite3 test.db
   ...>

где должен находиться файл test.db на диске?

Ответы [ 10 ]

26 голосов
/ 09 января 2013

Если вы хотите пустой файл .db, просто используйте:

touch stuff.db
11 голосов
/ 21 августа 2012

Я думаю, что проблема может заключаться в том, что файл не создается на диске до тех пор, пока вы не выполните такое действие, как CREATE TABLE.

мои действия:

C:\path\to\sqlite3.exe test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit

файл не был создан.

Тогда:

C:\path\to\sqlite3.exe test.db

SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t1(t1key integer);
sqlite> .quit

Файл обнаружен!

8 голосов
/ 16 августа 2014

Для будущих читателей, это с сайта SQLite.org и работает для меня:

SQLite version 3.8.5 2014-05-29 12:36:14
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open ex1.db
sqlite>

В приведенном выше примере файл базы данных с именем "ex1.db" открывается, используется и создается, если его ранее не было. Возможно, вы захотите использовать полное имя пути, чтобы убедиться, что файл находится в каталоге, в котором, по вашему мнению, он находится. Используйте косую черту в качестве символа разделителя каталога. Другими словами, используйте «c: /work/ex1.db», а не «c: \ work \ ex1.db».

Посетите http://www.sqlite.org/cli.html для более подробной информации.

5 голосов
/ 13 января 2016

Надеюсь, это поможет ..

  1. Перейти к командной строке
  2. введите CD \ (нажмите Enter)
  3. cd sqlite (нажмите ввод)
  4. sqlite3 mydb.db (нажмите ввод)
  5. .database (нажмите enter)
3 голосов
/ 31 марта 2016

Я столкнулся с той же проблемой, а затем вошел в командную строку с правами запуска от имени администратора, и проблема исчезла. Надеюсь, это кому-нибудь поможет.

3 голосов
/ 05 мая 2010

Странно, просто набираешь

sqlite3 test.db

Должен ли он создать базу данных sqlite, которая мне нужна, показывает ли она какие-либо ошибки?

Когда он использует эту команду, я получаю следующий вывод

$ sqlite3 test.db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 

Какой интерфейс командной строки sqlite

В ответ на ваши изменения вам нужно набрать sqlite3 test.db из командной строки, а не из командной строки sqlite.

Когда вы вводите его в командной строке, он создает базу данных в каталоге, в котором вы работаете, и открывает командную строку sqlite.

2 голосов
/ 09 октября 2017

То, что у вас неверно:

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> sqlite3 test.db
...>

В частности, строка: sqlite> sqlite3 test.db . Это также не соответствует вашему утверждению: когда получаю тип "sqlite3 test.db", .

Команда должна быть следующей:

sqlite3 test.db

Это даст вам следующий вывод:

SQLite version 3.20.0 2017-08-01 13:24:15
Enter ".help" for usage hints.
sqlite>

После этого вы можете ввести .database, который покажет вам полный путь к ваш файл, а затем введите .quit, чтобы выйти из этого приглашения. Если вы не делаете в по крайней мере .database команда файл не создается.

Файл будет создан в каталоге, в который вы вошли команда.

Это ясно показано здесь: sqlite tutoriaspoint

Надеюсь, это поможет.

2 голосов
/ 07 апреля 2015

Вы можете создать файл базы данных SQLite, используя Linux: touch db_name.db
Если вы хотите выполнить такие команды, как создание таблицы, вы должны сначала открыть файл базы данных
, используя: .open db_name.db

0 голосов
/ 17 октября 2015

Я тоже наблюдал то же самое. Когда я набираю sqlite3 test.db, я ввожу приглашение sqlite3. Затем проверил базы данных с помощью команды .databases. Yahooo !! Он показывает test.db, а также в каталоге я вижу файл test.db.

Я думаю, что файл БД виден только после того, как мы выполним какую-либо операцию в новом файле базы данных. (Не уверен)

0 голосов
/ 27 мая 2010

Похоже, что ваши переменные среды не были настроены для использования SQLite3. Теперь я не уверен в вашей ОС, но вот как установить ее под WinXP:

 - Start -> Right-click 'My Computer'
 - Select 'Properties'
 - Select the 'Advanced' tab
 - Click 'Environment Variables'
 - (Under 'System Variables') Select 'Path'
 - Click 'Edit'
 - (Under 'Variable Value') Go to the end of the line and enter the path to your sqlite3.exe (minus sqlite3.exe) For example: C:\bin\sqlite3\;

И это все! Но помните, что каждый путь в поле «Значение переменной» отделяется точкой с запятой, поэтому убедитесь, что перед новым путем он есть.

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