Як імпортувати .sql-файли в SQLite 3?


98

У мене є файли .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, щоб вони автоматично створювалися?


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

Відповіді:


164

З підказки 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. Виявляється, альтернатива така ж повільна.
Barton

18

Крім того, ви можете зробити це за допомогою командного рядка / командного файлу командного рядка Windows:

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

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


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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.