LoginSignup
103
128

More than 3 years have passed since last update.

SQLite3 チートシート

Last updated at Posted at 2016-08-08

目的

SQLite3でよく使う操作をまとめておくことで、同じことを検索するのをなるべく避けたい。

はじめに

【SQLite3】コマンド例と他データベースとの比較から始める SQLite 入門
コンパクトに綺麗にまとまっているので、SQLiteを久々に利用するときにはこの記事は必読。

基本的な操作/コマンド等

DB接続

DBに接続(なければ作る)

$ sqlite3 test.sqlite3

show

設定を表示する

sqlite> .show
     echo: off
      eqp: off
  explain: off
  headers: off
     mode: list
nullvalue: ""
   output: stdout
separator: "|"
    stats: off
    width:

データのインポート、エクスポート

csv/tsvをインポート

sqlite> .separator <delimitter(, / \t)> 
sqlite> .import <file_name(.csv / .tsv)> <table_name>

csv/tsvとしてエクスポート

sqlite> .headers on -- 任意
sqlite> .mode csv
sqlite> .output <filename(.csv)>
sqlite> select * from <table_name>;

テーブル操作

テーブル一覧を表示

sqlite> .table

スキーマを表示

sqlite> .schema <table_name>

SQL

普通のSQLと同じ部分が多いので注意する点など

外部SQLファイルを実行

sqlite> .read test.sql

create

createはなるべく型を指定した方がいい。キャストされず例えばinteger/textが混在してしまったりする(ハマった)

sqlite> create table <table_name> (<column1> [type1], <column2> [type2], ...);

注意

データ型はドはまりしたりするので注意したい。

挿入されたデータが、指定されたデータ型にキャスト可能であればキャストするが、不可能ならそのまま格納する(1つのカラムに異なるデータ型が混在しうる)

【SQLite3】コマンド例と他データベースとの比較から始める SQLite 入門から引用

Pythonからの呼び出し

IntelliJから使う

IntelliJから使うと、テーブル名の補完も効いて快適です。

スクリーンショット 2016-08-09 11.40.22.png

[Database] => [+] => [Data Source] => [SQLite] => [Xerial] で新しくデータソースを作り、DBファイル名を指定して [Test Connection] すれOK(必要に応じてドライバをダウンロードします)

参考: Macで使えるSQLiteクライアント

Ibisとの連携

Quickstart on Crunchbase analysis using Ibis and SQLite

参考文献

103
128
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
103
128