最近は様々なアプリケーションが、sqliteのデータベースを利用するようになりました。
自宅で利用している BaseStation.sqbを操作するためのメモです。
# コマンドラインからSQL文実施
sqlite3 ./BaseStation.sqb 'select count(*) from Aircraft;'
# SQL文の記入されたファイルを読み込ませる場合
cat INSERT.sql | sqlite3 ./BaseStation.sqb
# INSERT
sqlite3 ./BaseStation.sqb
select * From Aircraft where AircraftID=380818;
# Insert文に利用する「AircraftID」の最大値+1を取得する。
select MAX(AircraftID)+1 from Aircraft;
INSERT INTO Aircraft VALUES(
(select MAX(AircraftID)+1 from Aircraft),'2021-12-31 00:00:00.00','2021-12-31 00:00:00.00',
'87C002','Japan','','80-1111',NULL,NULL,NULL,'A',NULL,
'BOEING','B773','777-37CER','',NULL,NULL,NULL,NULL,NULL,
'Japanese Air Force',NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL,'M','',0,0,0,0,0,
'B773')
;
INSERT INTO Aircraft VALUES(
(select MAX(AircraftID)+1 from Aircraft),'2021-12-31 00:00:00.00','2021-12-31 00:00:00.00',
'86E86E','Japan','','JA878J',NULL,NULL,NULL,'A',NULL,
'BOEING','B787','787-946','',NULL,NULL,NULL,NULL,NULL,
'Japan Air Lines',NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL,'M','',0,0,0,0,0,
'B789')
;
SQLで実行した結果をSQL文ファイル(TABLE_NAME.sql)として保存する場合。
sqlite3 ./BaseStation.sqb
.mode insert TABLE_NAME
.out TABLE_NAME.sql
SELECT * FROM TABLE_NAME
保存したSQL文(TABLE_NAME.sql)をデータベースに戻す場合。
sqlite3 ./BaseStation.sqb < TABLE_NAME.sql
参考にさせていただきました。ありがとうございます。
リンク