В данной заметке я хочу привести примеры экспорта и импорта данных при работе с sqlite. Будем использовать утилиту sqlite3.
Пример экспорта таблиц базы в файлы формата csv.
Пример экспорта таблиц базы в файлы формата csv.
[pa23@pa23comp 1]$ sqlite3 my_database.db
SQLite version 3.11.1 2016-03-03 16:17:53
Enter ".help" for usage hints.
sqlite> .tables
table1 table2
sqlite> .header on
sqlite> .mode csv
sqlite> .once table1.csv
sqlite> select * from table1;
sqlite> .once table2.csv
sqlite> select * from table2;
sqlite> .exit
[pa23@pa23comp 1]$ ls
my_database.db table1.csv table2.csv
[pa23@pa23comp 1]$
Пример импорта данных из файлов csv в таблицы базы.[pa23@pa23comp 1]$ ls
my_database.db table1.csv table2.csv
[pa23@pa23comp 1]$ sqlite3 my_database.db
SQLite version 3.11.1 2016-03-03 16:17:53
Enter ".help" for usage hints.
sqlite> .tables
table1 table2
sqlite> .mode csv
sqlite> .import table1.csv table1
sqlite> .import table2.csv table2
sqlite> .exit
[pa23@pa23comp 1]$
Пример сохранения схемы базы данных в файл sql.
[pa23@pa23comp 1]$ ls
my_database.db
[pa23@pa23comp 1]$ sqlite3 my_database.db .schema > my_database_schema.sql
[pa23@pa23comp 1]$ ls
my_database.db my_database_schema.sql
[pa23@pa23comp 1]$ cat my_database_schema.sql
CREATE TABLE table1 (id INTEGER PRIMARY KEY, name TEXT NOT NULL UNIQUE);
CREATE TABLE table2 (id INTEGER PRIMARY KEY, name TEXT NOT NULL UNIQUE);
[pa23@pa23comp 1]$
Пример полного бэкапа базы данных в файл sql (схема и данные).
[pa23@pa23comp 1]$ ls
my_database.db my_database_schema.sql
[pa23@pa23comp 1]$ sqlite3 my_database.db .dump > my_database_dump.sql
[pa23@pa23comp 1]$ ls
my_database.db my_database_dump.sql my_database_schema.sql
[pa23@pa23comp 1]$ cat my_database_dump.sql
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE table1 (id INTEGER PRIMARY KEY, name TEXT NOT NULL UNIQUE);
INSERT INTO "table1" VALUES(1,'Yaroslavl');
INSERT INTO "table1" VALUES(2,'Vologda');
INSERT INTO "table1" VALUES(3,'Kostroma');
INSERT INTO "table1" VALUES(4,'Ivanovo');
CREATE TABLE table2 (id INTEGER PRIMARY KEY, name TEXT NOT NULL UNIQUE);
INSERT INTO "table2" VALUES(1,'Volga');
INSERT INTO "table2" VALUES(2,'Toshnya');
INSERT INTO "table2" VALUES(3,'Kostroma');
INSERT INTO "table2" VALUES(4,'Uvod');
COMMIT;
[pa23@pa23comp 1]$
Пример восстановления базы данных из скрипта sql.
[pa23@pa23comp 1]$ ls
my_database.db my_database_dump.sql my_database_schema.sql
[pa23@pa23comp 1]$ sqlite3 my_new_database.db
SQLite version 3.11.1 2016-03-03 16:17:53
Enter ".help" for usage hints.
sqlite> .read my_database_schema.sql
sqlite> .exit
[pa23@pa23comp 1]$
Спасибо.
ОтветитьУдалитьвот спасибо!
ОтветитьУдалитьРад, что информация оказалась еще кому-то полезной.
ОтветитьУдалить