SQLiteチュートリアル(VIII)。コマンドラインツールの紹介
2022-01-23 08:40:57
良い仕事をするためには、まず自分が良い仕事をする必要があります。SQLiteのコマンドラインツールを学ぶことは、SQLiteそのものを学ぶのにとてもとても役に立ちます。最も基本的なことは、SQLiteをより簡単に、より楽しく学べるようになるということです。SQLiteの公式ダウンロードサイトでは、マルチプラットフォームをサポートし、Oracleのsqlplusのように、SQLiteのほとんどの一般的な操作を実行できるコマンドラインツールが提供されています。
<テーブル コマンド名 コマンドの説明 .ヘルプ 内蔵コマンドをすべてリストアップします。 .backup dbname ファイル 指定されたデータベースを指定されたファイルにバックアップします。デフォルトは現在接続中のメインデータベースです。 .databases 現在の接続で、接続されているすべてのデータベース名とファイル名をリストアップします。 .dump TABLENAME ... 現在接続している MAIN データベースを SQL テキスト形式でダンプするか、テーブル名が指定されている場合はそれに一致するデータ・テーブルのみをダンプします。パラメータTABLENAMEは、LIKE式でサポートされるワイルドカードをサポートします。 .echo ON|OFF 表示出力のオン/オフを切り替えます。 .終了 現在のプログラムを終了します。 .説明 ON|OFF Human Readable フォームへの現在の接続の SELECT 出力のオン/オフを切り替えます。 .header(s) ON|OFF SELECT結果を表示する際に、カラムヘッダを表示するかどうかを指定します。 .import FILE TABLE 指定されたファイルから指定されたテーブルにデータをインポートする。 .インデックス TABLENAME すべてのインデックスの名前を表示します。テーブル名が指定されている場合は、そのテーブル名に一致するデータ・テーブルのインデックスのみを表示し、パラメータTABLENAMEはLIKE式でサポートされるワイルドカード文字をサポートします。 .log FILE|オフ FILEには、標準出力の場合はstdout、標準エラー出力の場合はstderrを指定します。 .モード MODE TABLENAME 出力モードを設定します。ここで最も一般的なモードは列モードであり、SELECTの出力列を左揃えにします。 .nullvalue STRING NULL 値を指定された文字列で代わりに表示します。 .出力ファイル名 現在のコマンドからのすべての出力を、指定されたファイルにリダイレクトします。 .出力stdout 現在のコマンドからのすべての出力を標準出力(スクリーン)にリダイレクトします。 .終了 現在のプログラムを終了します。 .read FILENAME 指定されたファイル内の SQL 文を実行します。 .restore DBNAME FILE 指定されたファイルからデータベースを復元します。デフォルトはメインデータベースですが、この時点で他のデータベース名を指定することもでき、指定されたデータベースは現在接続されているアタッチドデータベースとなります。 .schema TABLENAME データテーブル作成文、またはテーブル名が指定されている場合は、そのテーブル名に一致するデータテーブル作成文のみを表示し、TABLENAMEパラメータはLIKE式でサポートされるワイルドカード文字をサポートします。 .separator 文字列 .importの出力モードとフィールド間セパレータを変更します。 .ショー 各種設定の現在値を表示します。 .テーブル TABLENAME 現在の接続におけるメインデータベースのすべてのテーブル名、または、TABLENAMEパラメータがLIKE式でサポートされるワイルドカード文字をサポートしている場合、テーブル名に一致するデータテーブルの名前のみをリストアップします。 .幅 NUM1 NUM2 .... MODE が column のとき、各フィールドの幅を設定する。注:このコマンドのパラメータの順番は、フィールドの出力順を示す。
以下のよくある例をご覧ください。
1). データベースのバックアップとリストア。
コピーコード
コードは以下の通りです。
-- Create a data table in the currently connected main database, and later backup the main database to the D:/mydb.db file with the .backup command.
sqlite> CREATE TABLE mytable (first_col integer);
sqlite> .backup 'D:/mydb.db'
sqlite> .exit
-- by executing sqlite3.exe under a command line window to re-establish the connection to SQLite.
-- Restore data from the backup file D:/mydb.db to the currently connected main database, and then you can see the mytable table with the .tables command.
sqlite> .restore 'D:/mydb.db'
sqlite> .tables
mytable
2). データテーブル作成文を指定されたファイルにDUMPする。
コピーコード
コードは以下の通りです。
-- first redirects the current output of the command line to D:/myoutput.txt, and later outputs the declaration statement of the previously created mytable table to that file.
sqlite> .output D:/myoutput.txt
sqlite> .dump mytabl%
sqlite> .exit
--opens the target file with Notepad in a DOS environment.
D:\>notepad myoutput.txt
3). 現在接続されているすべてのAttachedデータベースとメインデータベースを表示します。
コピーコード
コードは以下の通りです。
sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb;
sqlite> .databases
seq name file
--- --------------- ------------------------
0 main
2 mydb D:\mydb.db
4). メインデータベースのすべてのデータテーブルを表示する。
コピーコード
コードは以下の通りです。
sqlite> .tables
mytable
5). テーブル名 mytabl% に一致するデータ・テーブルのすべてのインデックスを表示します。
コピーコード
コードは以下の通りです。
sqlite> CREATE INDEX myindex on mytable(first_col);
sqlite> .indices mytabl%
myindex
6). テーブル名mytable%に一致するテーブルのスキーマ情報を表示します。
コピーコード
コードは以下の通りです。
--dependent index information for this table is also output.
sqlite> .schema mytabl%
CREATE TABLE mytable (first_col integer);
CREATE INDEX myindex on mytable(first_col);
7). SELECTの出力メッセージをフォーマットして表示します。
コピーコード
コードは以下の通りです。
--insert test data
sqlite> INSERT INTO mytable VALUES(1);
sqlite> INSERT INTO mytable VALUES(2);
sqlite> INSERT INTO mytable VALUES(3);
-- Note the output format of the SELECT result set without any settings.
sqlite> SELECT * FROM mytable;
1
2
3
-- Displays the column names of the SELECT result set.
-- Displays each field as a column.
-- Set the width of the first column displayed in subsequent output to 10.
sqlite> .header on
sqlite> .mode column
sqlite> .width 10
sqlite> SELECT * FROM mytable;
first_col
----------
1
2
3
関連
-
SQLite の if not exist ライクな関数の実装
-
よく使われるsQliteステートメントとsQliteデベロッパーの使用・登録について
-
SQLiteの便利なコマンドのまとめ
-
SQLiteの文字列比較における大文字小文字の問題の解決法
-
SQLiteデータベースのインストールと基本操作ガイド
-
SQLITE3データベースを初めて知る
-
SQLite3 用に ANSI から UTF8 への交換関数を提供する。
-
SQLiteインメモリデータベース学習マニュアル
-
SQLiteチュートリアル(II)。C/C++インターフェイスの紹介
-
SQLiteチュートリアル(3)。データテーブルとビューの紹介
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン