Мне нужно выгрузить файл .sql или .csv в SQLite (я использую SQLite3 API). Я нашел только документацию для импорта / загрузки таблиц, а не целых баз данных. Прямо сейчас, когда я печатаю:
sqlite3prompt> .import FILENAME TABLE
Я получаю синтаксическую ошибку, так как ожидается таблица, а не вся БД.
database
sqlite
import
sqlite-shell
happythenewsad
источник
источник
Ответы:
Для импорта из файла SQL используйте следующее:
Для импорта из файла CSV вам необходимо указать тип файла и целевую таблицу:
источник
Попробуйте сделать это с помощью такой команды:
Очевидно, это будет работать только с операторами SQL в dump.sql. Я не знаю, как импортировать CSV.
источник
.mode csv
sqlite3 database.db < dump.sql
ТАК МЕДЛЕННО !!! Так что используйтеcat dump.sql | sqlite3 database.db
вместо этого! : DЧтобы перейти от SCRATCH с SQLite DB к импорту CSV в таблицу:
sqlite3 <your_db_file_name>
* Он будет создан как пустой файл.CREATE TABLE <table_Name> (<field_name1> <Type>, <field_name2> <type>);
После того, как вы создали таблицу и столбцы соответствуют вашим данным из файла, вы можете сделать это ...
источник
Команда sqlite3 .import не будет работать с обычными данными CSV, поскольку она рассматривает любую запятую как разделитель даже в строке в кавычках.
Это включает попытку повторно импортировать CSV-файл, созданный оболочкой:
Кажется, мы должны преобразовать csv в список операторов Insert, или, возможно, подойдет другой разделитель.
В SuperUser я увидел предложение использовать LogParser для работы с CSV-файлами, я собираюсь изучить это.
источник
Если вы счастливы использовать скрипт (python), то есть скрипт python, который автоматизирует это по адресу: https://github.com/rgrp/csv2sqlite
Это автоматически создаст таблицу для вас, а также выполнит некоторые базовые действия по подбору типов и преобразованию данных (например, он определит, что что-то является числом, и установит тип столбца на «реальный»).
источник
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings
# csv2sqlite.py {csv-file-path} {sqlite-db-path} [{table-name}]Помните, что разделителем по умолчанию для SQLite является вертикальная черта "|"
http://sqlite.awardspace.info/syntax/sqlitepg01.htm#sqlite010
источник
SQLite чрезвычайно гибок, поскольку он также позволяет использовать специфические для SQLite команды с точкой в синтаксисе SQL (хотя они интерпретируются CLI). Это означает, что вы можете делать такие вещи.
Создайте такую
sms
таблицу:Затем два файла:
Чтобы проверить импорт файла CSV с помощью файла SQL, запустите:
В заключение, это означает, что вы можете использовать
.import
оператор в SQLite SQL так же, как и в любой другой RDB, например MySQLLOAD DATA INFILE
и т. Д. Однако это не рекомендуется.источник
Ознакомьтесь с termsql. https://gitorious.org/termsql https://gitorious.org/termsql/pages/Home
Он преобразует текст в SQL в командной строке. (CSV - это просто текст)
Пример:
По умолчанию разделителем является пробел, поэтому, чтобы он работал с CSV, в котором используются запятые, вы должны сделать это так:
в качестве альтернативы вы можете сделать это:
По умолчанию он будет генерировать имена столбцов «COL0», «COL1», если вы хотите, чтобы он использовал первую строку для имен столбцов, сделайте следующее:
Если вы хотите установить собственные имена столбцов, сделайте следующее:
источник
если вы используете его в Windows, обязательно добавьте путь к базе данных в "", а также используйте двойную косую черту \ в пути, чтобы убедиться, что окна его понимают.
источник
Вот как вы можете вставить в столбец идентичности:
myfile.txt - это файл в C: \ code \ db \ предопределенный \
data.db находится в C: \ code \ db \
myfile.txt содержит строки, разделенные символом новой строки.
Если вы хотите добавить больше столбцов, их проще разделить с помощью вертикальной черты, которая используется по умолчанию.
источник
Импортируйте ваш csv или sql в sqlite с помощью phpLiteAdmin , это отлично.
источник