Когда я экспортирую таблицы из базы данных SQLite в файлы csv с заголовками, пустые таблицы возвращают пустой файл csv.
В этом случае я хотел бы получить файл csv только с заголовком.
Вот пример.
Создайте базу данных с tblA и tblB, где у таблицы A. нет данных.
sqlite3 test.sqlite
CREATE TABLE tblA (
ID LONG,
Col01 TEXT
);
CREATE TABLE tblB (
ID LONG,
Col01 TEXT
);
INSERT INTO tblB (ID, Col01)
VALUES
(1, "AAA"),
(2, "BBB");
.quit
Экспорт всех таблиц в csv:
# obtain all data tables from database
tables=`sqlite3 test.sqlite "SELECT tbl_name FROM sqlite_master WHERE type='table' and tbl_name not like 'sqlite_%';"`
for i in $tables ; do
sqlite3 -header -csv test.sqlite "select * from $i;" > "$i.csv" ;
done
Проверьте содержимое этих CSV-файлов:
[tmp] : head *csv
==> tblA.csv <==
==> tblB.csv <==
ID,Col01
1,AAA
2,BBB
Я хотел бы получить это вместо:
[tmp] : head *csv
==> tblA.csv <==
ID,Col01
==> tblB.csv <==
ID,Col01
1,AAA
2,BBB