1. テーブル一覧の取得
sqliteコマンドでログイン後なら、以下で取れる。
sqlite> .tables
SQL文で取得したい場合は、sqlite_masterテーブルから取得する。
select name from sqlite_master;
なお、一時テーブルはsqlite_masterではなく、sqlite_temp_masterのほうで管理されるので同様の方法でそちらから取得する。
sqliteコマンドでログイン後なら、以下で取れる。
sqlite> .tables
SQL文で取得したい場合は、sqlite_masterテーブルから取得する。
select name from sqlite_master;
なお、一時テーブルはsqlite_masterではなく、sqlite_temp_masterのほうで管理されるので同様の方法でそちらから取得する。
SQLite3では.importを使用する。
sqlite> .separator "," sqlite> .import DEMO.csv [テーブル名]
sqliteコマンドから実行する場合は以下のようにする。
sqlite -separator "," DBNAME.db ".import DEMO.csv [テーブル名]"
ちなみに、SQLite2ではcopy構文を使っていた。
sqlite> copy [テーブル名] from 'DEMO.csv' using delimiters ',';
基本的には、CSVを読み込む場合と同様。
sqlite> .separator "\t" sqlite> .import DEMO.tsv [テーブル名]
ただし、\tのようなエスケープがうまくいかなくてハマる場合もあるようので、以下に確実に動きそうなシェルスクリプト例をば。
#!/bin/sh TAB=`echo -e "\t"` sqlite -separator "$TAB" DBNAME.db ".import DEMO.tsv [テーブル名]"