SQLite入門教程一基本制御台(端末)命令


一、基本的な紹介
SQLiteは自前の、サーバなしの、ゼロ配置の、トランザクション型の関係型データベースエンジンです。彼は小さいので、組み込みデータベースとしてあなたのアプリケーションに構築することもできます。SQLiteは、Solaris 10オペレーティングシステム、Mac OSオペレーティングシステム、iPhone、Skypeに適用される。QT 4、Python、PHPはすべてデフォルトでSQLiteに対応しています。Firefox Amarokなどの流行のアプリケーションは内部でもSQLiteを使用しています。
SQLite  データベースエンジンは主要なSQL-92標準を実現しています。エンジン自体は1つのファイルしかなく、サイズは300 k未満ですが、独立したプロセスとして実行されるのではなく、動的または静的に他のアプリケーションにリンクされています。作成したデータベースファイルは通常のディスクファイルで、どのディレクトリにも保存できます。SQLite自体はC言語で開発されており、オープンソースもプラットフォームにまたがり、すべての主流プログラミング言語によってサポートされています。
関連リソース
sqlite.org wikipedia.org
二、ダウンロードインストール
Windows版のダウンロードアドレスはsqlite-shell-win 32-x 86-307001.zipです。
ここでダウンロードしたのはコマンドラインのバージョンですので、実行可能なファイルです。ダイナミックリンクライブラリのバージョンもあります。もしあなたのアプリケーションが組み込みデータベースが必要なら、このバージョンをダウンロードできます。もちろん、あなたが振り回したいなら、ソースコードをダウンロードして自分でコンパイルしてもいいです。ダウンロードが完了し、解凍して一つのファイルにします。sqlite 3.exeは任意のパスに置いて、このパスをPATH環境変数に入れます。これでいつでもコンソールでSQLiteコマンドラインツールを実行できます。三、基本命令1、コマンドライン環境に入る:sqlite 3はコンソールウィンドウを開き、sqlite 3を入力して車を返すと、SQLiteコマンドライン環境に入ります。
はバージョン番号を表示しています。各SQL文にはセミコロンが必要です。エンド2、コマンドラインヘルプ:.helpはコマンドライン環境で入力します。helpはバックして、すべての使用可能なコマンドとこれらのコマンドのヘルプを表示します。注意:すべてのコマンドの先頭は点3で、コマンドライン環境を終了します。quitまたは.exit  すべて終了できます
四、データベースとテーブルの関連コマンド
1、新しいデータベースを作成します。sqlite 3     ファイル名
まずDbディレクトリを作成し、Dbディレクトリにtest.dbデータベースファイルを作成し、コンソールウィンドウを開きます。コマンドは以下の通りです。

mkdir Db
cd Db
sqlite3 test.db
2、既存のデータベースを開く:sqlite 3      既存のファイル名
新しいデータベースを作成します。既存のデータベースコマンドを開くのと同じです。ファイルが現在のディレクトリの下に存在しない場合、新規に作成します。存在する場合、開きます。
3、データの導入:.read     データファイル
メモ帳を開けて、下記のSQL文をメモ帳にコピーして、test.sqlとして上記のDbディレクトリに保存して、コマンドライン環境で入力します。
.read   test.sql
すべてのデータをtest.dbデータベースにインポートします。
test.db導入データ

BEGIN TRANSACTION;
CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);
INSERT INTO Cars VALUES(1,'Audi',52642);
INSERT INTO Cars VALUES(2,'Mercedes',57127);
INSERT INTO Cars VALUES(3,'Skoda',9000);
INSERT INTO Cars VALUES(4,'Volvo',29000);
INSERT INTO Cars VALUES(5,'Bentley',350000);
INSERT INTO Cars VALUES(6,'Citroen',21000);
INSERT INTO Cars VALUES(7,'Hummer',41400);
INSERT INTO Cars VALUES(8,'Volkswagen',21600);
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer CHECK(OrderPrice>0),
                    Customer text);
INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");
INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");
INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,
                     Sex text CHECK(Sex IN ('M', 'F')));
INSERT INTO Friends VALUES(1,'Jane', 'F');
INSERT INTO Friends VALUES(2,'Thomas', 'M');
INSERT INTO Friends VALUES(3,'Franklin', 'M');
INSERT INTO Friends VALUES(4,'Elisabeth', 'F');
INSERT INTO Friends VALUES(5,'Mary', 'F');
INSERT INTO Friends VALUES(6,'Lucy', 'F');
INSERT INTO Friends VALUES(7,'Jack', 'M');
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS Customers(CustomerId integer PRIMARY KEY, Name text);
INSERT INTO Customers(Name) VALUES('Paul Novak');
INSERT INTO Customers(Name) VALUES('Terry Neils');
INSERT INTO Customers(Name) VALUES('Jack Fonda');
INSERT INTO Customers(Name) VALUES('Tom Willis');

CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,
                                        CustomerId integer, Day text);
INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-22-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-28-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-29-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-29-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(3, '2009-02-12');
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE Names(Id integer, Name text);
INSERT INTO Names VALUES(1,'Tom');
INSERT INTO Names VALUES(2,'Lucy');
INSERT INTO Names VALUES(3,'Frank');
INSERT INTO Names VALUES(4,'Jane');
INSERT INTO Names VALUES(5,'Robert');
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,
                   Isbn text default 'not available');
INSERT INTO Books VALUES(1,'War and Peace','Leo Tolstoy','978-0345472403');
INSERT INTO Books VALUES(2,'The Brothers Karamazov',
                         'Fyodor Dostoyevsky','978-0486437910');
INSERT INTO Books VALUES(3,'Crime and Punishment',
                         'Fyodor Dostoyevsky','978-1840224306');
COMMIT

4、すべてのデータテーブルを一覧表示します。
上のすべての仕事を完成したら、私達はすべてのデータシートを並べることができます。

5、データベース構造を表示する:.schema
実はいくつかのSQL文で、彼らはデータベースの構造を説明しました。
  
6、表示表の構造:.schema   表の名前

 7、あるテーブルのデータをエクスポートします。dump   表の名前
この時、全体の表はSQL文の形で導き出されましたが、端末に表示されているだけです。どうやってファイルにエクスポートしますか?
8、出力先を設定:outputファイル名または.output stdoutを先に実行します。output cars.sqlを設定してから実行します。dumpコマンドを試してみてください。端末(標準出力)に返信するなら、運転.output stdout 5、データ表示関連コマンド1、セパレータを設定します。セパレータセパレータセパレートはまずSELECT*FROM Namesを実行します。デフォルトのセパレータが表示されます。セパレート:以降、SELECT*FROM Names;セパレータが表示されます。

2、表示モードを設定する:.mode    モード
いくつかの表示モードがありますが、デフォルトはリスト表示モードです。普通はcolumnを使ってモードを表示します。他にもいくつかの表示モードがあります。helpはmode関連の内容を見ます。下の図を見てください。上の図とは違っていますか?

3、タイトルバーを表示します。headers   オン
ほら、また違っていますか?

4、各列の表示幅を設定します。width     w 1,w 2,w 3…
いくつかの内容は、デフォルトの幅が表示されないので、このコマンドが有効です。
5、NULL値を設定してどのように表示しますか?null value     あなたが欲しいNULL値のフォーマット
デフォルトではNULLの値は何も表示されません。ご希望のように設定できます。

6、現在の表示フォーマットの設定状況を一覧表示します。ショー

7、配置ファイル.sqlitter c
コマンドラインに入るたびに表示形式を再設定するのは面倒くさいですが、実際にショーコマンドのリストにある設定項目は全部一つに保存できます。sqlitter cファイルでは、コマンドラインに入るたびに自動的に設定されます。sqltercファイルはLinuxの下でユーザーのホームディレクトリに保存されています。Windowsの下ではどのディレクトリにも保存できますが、環境変数を設定してデータベースエンジンに見つけられます。興味のある方はヘルプを見てください。