Как импортировать файлы .sql в SQLite 3?

100

У меня есть файлы .sql со следующим содержанием:

#cat db.sql
create table server(name varchar(50),ipaddress varchar(15),id init)
create table client(name varchar(50),ipaddress varchar(15),id init)

Как мне импортировать этот файл в SQLite, чтобы они создавались автоматически?

webminal.org
источник
sqlite3 DB.db <db.sql Ошибка: неполный SQL: создать сервер таблицы (имя varchar (50), ipaddress varchar (15), id init) создать клиент таблицы (имя varchar (50), ipaddress varchar (15), id init ) что означает эта ошибка? Я пробовал оба метода> .read db.sql и sqlite3 DB.db <db.sql
webminal.org

Ответы:

167

Из приглашения sqlite:

sqlite> .read db.sql

Или:

cat db.sql | sqlite3 database.db

Кроме того, ваш SQL недействителен - вам нужно ;в конце ваших операторов:

create table server(name varchar(50),ipaddress varchar(15),id init);
create table client(name varchar(50),ipaddress varchar(15),id init);
Доминик Роджер
источник
sqlite3 DB.db <db.sql Ошибка: неполный SQL: создать сервер таблицы (имя varchar (50), ipaddress varchar (15), id init) создать клиент таблицы (имя varchar (50), ipaddress varchar (15), id init ) что означает эта ошибка? Я пробовал оба метода> .read db.sql и sqlite3 DB.db <db.sql ... Спасибо
webminal.org
1
спасибо Теперь работает. Я пропустил; и включены недопустимые символы, такие как "-". Теперь все нормально. Спасибо !!!
webminal.org
@lakshmipathi, если он работает, вы можете отметить один из двух ответов, ответивших на ваш вопрос, как принятый, щелкнув галочку под подсчетом голосов рядом с ответом.
Доминик Роджер
59

Используйте sqlite3 database.sqlite3 < db.sql. Вам необходимо убедиться, что ваши файлы содержат действительный SQL для SQLite.

Эйфион
источник
Я тоже (синтаксис командной строки Windows). Спасибо. Хотя, конечно, медленно.
Бартон
2
Я получил нетерпеливое строительство из файла .sql размером 40+ Мб, завершил sqlite3 database.sqlite3 <db.sql в пользу sqlite> .read db.sql. Оказывается, альтернатива такая же медленная.
Бартон
19

Кроме того, вы можете сделать это из командной строки / командного файла Windows:

sqlite3.exe DB.db ".read db.sql"

Где DB.db - это файл базы данных, а db.sql - это файл SQL для запуска / импорта.

эврика
источник
это сработало для меня, хотя я запускал sqlite3 как команду в терминале, поэтому:sqlite3 DB.db ".read db.sql"
Bugbeeb
16

Вы также можете:

sqlite3 database.db -init dump.sql
Ян Ньюленд
источник