Changes between Initial Version and Version 1 of SQLite3の使い方


Ignore:
Timestamp:
Nov 7, 2016, 4:12:35 PM (7 years ago)
Author:
admin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SQLite3の使い方

    v1 v1  
     1[wiki:WikiStart 戻る]
     2
     3-- ロードしたDBファイル
     4sqlite> .databases
     5seq  name             file
     6---  ---------------  ----------------------------------------------------------
     70    main             /home/roka/Dev/Django/tests/data.db
     8
     9-- テーブル一覧の表示
     10sqlite> .tables
     11auth_group                  auth_user_groups
     12auth_group_permissions      auth_user_user_permissions
     13auth_message                django_content_type
     14auth_permission             django_session
     15auth_user                   django_site
     16
     17-- スキーマの確認
     18sqlite> .schema django_session
     19CREATE TABLE "django_session" (
     20    "session_key" varchar(40) NOT NULL PRIMARY KEY,
     21    "session_data" text NOT NULL,
     22    "expire_date" datetime NOT NULL
     23);
     24
     25-- テーブル構成をDUMPする
     26sqlite> .dump django_site
     27BEGIN TRANSACTION;
     28CREATE TABLE "django_site" (
     29    "id" integer NOT NULL PRIMARY KEY,
     30    "domain" varchar(100) NOT NULL,
     31    "name" varchar(50) NOT NULL
     32);
     33INSERT INTO "django_site" VALUES(1,'example.com','example.com');
     34COMMIT;
     35
     36-- 実行したSQLを復唱する
     37sqlite> .echo on
     38sqlite> select * from django_content_type;
     39select * from django_content_type;
     401|message|auth|message
     412|group|auth|group
     423|user|auth|user
     434|permission|auth|permission
     445|content type|contenttypes|contenttype
     456|session|sessions|session
     467|site|sites|site
     47
     48-- 結果を見やすくする
     49sqlite> .explain on
     50sqlite> select * from django_content_type;
     51id    name            app_label   model
     52----  --------------  ----------  ----------
     531     message         auth        message
     542     group           auth        group
     553     user            auth        user
     564     permission      auth        permission
     575     content type    contenttyp  contenttyp
     586     session         sessions    session
     597     site            sites       site
     60
     61-- カラム名を表示(ON)/非表示(OFF)(デフォルトON)
     62sqlite> .header off
     63sqlite> select * from django_content_type;
     641     message         auth        message
     652     group           auth        group
     663     user            auth        user
     674     permission      auth        permission
     685     content type    contenttyp  contenttyp
     696     session         sessions    session
     707     site            sites       site
     71
     72-- ファイルからデータをインポートする
     73sqlite> .import filename tablename
     74
     75-- 作成したINDEX名を表示
     76sqlite> .indices django_content_type
     77sqlite_autoindex_django_content_type_1
     78
     79-- 出力フォーマットを指定する(csv | column | html | insert | line | list | tabs | tcl)
     80sqlite> .mode html
     81sqlite> select * from django_content_type;
     82<TR><TD>1</TD>
     83<TD>message</TD>
     84<TD>auth</TD>
     85<TD>message</TD>
     86</TR>
     87......(略)
     88<TR><TD>7</TD>
     89<TD>site</TD>
     90<TD>sites</TD>
     91<TD>site</TD>
     92</TR>
     93
     94-- 値がNULLの場合に表示する文字列を指定。デフォルトは"" (何も表示されない)
     95sqlite> .nullvalue NULL
     96
     97-- 標準出力の代わりに指定したファイルに結果を出力する
     98sqlite> .output output.txt
     99
     100-- プロンプトの表示を変更する
     101sqlite> .prompt "SQL>> "
     102
     103-- 外部SQLの実行
     104sqlite> .read "select.sql"
     105
     106-- 区切り文字を変更する(デフォルトは'|')。.import にも影響する
     107sqlite> .separator ,
     108
     109-- 現在の設定が表示される
     110sqlite> .show
     111     echo: off
     112  explain: off
     113  headers: off
     114     mode: list
     115nullvalue: ""
     116   output: stdout
     117separator: ""
     118    width:
     119
     120-- 終了
     121sqlite> .exit
     122sqlite> .quit
     123
     124}}}