この記事では、SQLite(リレーショナルデータベース)とその基本的な操作をインストールする方法を説明します。 SQLiteは、他のすべてのデータベースエンジンを組み合わせたものよりも多く使用されている可能性が高いと言えばどうでしょうか。 はい、あなたはそれを正しく聞きました。 これは、世界で最も広く展開されているデータベースであり、数百万から数十億のコピーがあります。
この人気の背後にある理由はいくつかです 独特の特徴 これは珍しいことであり、MySQL、PostgreSQL、Oracle、Microsoft SQLServerなどの他の多くのSQLデータベースエンジンとは異なります。それを始めましょう。 まず、Linuxにインストールし、後で基本的なデータベース操作について説明します。
Sqliteのインストール
Debianベース(Ubuntu、Debianなど)のマシンにインストールするには、以下のコマンドを実行します。
$ sudo apt update
$ sudo apt install sqlite3
RPMベース(RHEL、CentOS、 Fedora など)マシンは以下のコマンドを実行します。
$ sudo yum update
$ sudo yum install sqlite
DNFパッケージマネージャーを使用してSQliteをインストールすることもできます。
sudo dnf update sudo dnf install sqlite
To access SQLite databases from various programming languages (C, Tcl, Java), the language bindings need to be installedsudo dnf install sqlite-devel sqlite-tcl sqlite-jdbc
ターミナルを開いて「sqlite3」を実行すると、プロンプトが表示された次の行が表示されます。
$ sqlite3
SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
一番最初の行は、sqlite3のバージョンとリリース日時を示しています。
2行目は、指示のために「.help」と入力するように指示しています。
。ヘルプ コマンドは、すべてのメタコマンドとその説明を一覧表示します。 これらのメタコマンドは、前にドットが付いているため、「ドット」コマンドとも呼ばれます。
「.help」を入力してプロンプトを表示します
sqlite> .help
.backup ?DB? FILE Backup DB (default "main") to FILE
.bail ON|OFF Stop after hitting an error. Default OFF
.databases List names and files of attached databases
.dump ?TABLE? ... Dump the database in an SQL text format
If TABLE specified, only dump tables matching
LIKE pattern TABLE.
.echo ON|OFF Turn command echo on or off
.exit Exit this program
.explain ?ON|OFF? Turn output mode suitable for EXPLAIN on or off.
With no args, it turns EXPLAIN on.
.header(s) ON|OFF Turn display of headers on or off
.help Show this message
.import FILE TABLE Import data from FILE into TABLE
.indices ?TABLE? Show names of all indices
If TABLE specified, only show indices for tables
matching LIKE pattern TABLE.
.load FILE ?ENTRY? Load an extension library
.log FILE|off Turn logging on or off. FILE can be stderr/stdout
.mode MODE ?TABLE? Set output mode where MODE is one of:
csv Comma-separated values
column Left-aligned columns. (See .width)
html HTML table code
insert SQL insert statements for TABLE
line One value per line
list Values delimited by .separator string
tabs Tab-separated values
tcl TCL list elements
.nullvalue STRING Use STRING in place of NULL values
.open ?FILENAME? Close existing database and reopen FILENAME
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen
.print STRING... Print literal STRING
.prompt MAIN CONTINUE Replace the standard prompts
.quit Exit this program
.read FILENAME Execute SQL in FILENAME
.restore ?DB? FILE Restore content of DB (default "main") from FILE
.schema ?TABLE? Show the CREATE statements
If TABLE specified, only show tables matching
LIKE pattern TABLE.
.separator STRING Change separator used by output mode and .import
.show Show the current values for various settings
.stats ON|OFF Turn stats on or off
.tables ?TABLE? List names of tables
If TABLE specified, only list tables matching
LIKE pattern TABLE.
.timeout MS Try opening locked tables for MS milliseconds
.trace FILE|off Output each SQL statement as it is run
.vfsname ?AUX? Print the name of the VFS stack
.width NUM1 NUM2 ... Set column widths for "column" mode
.timer ON|OFF Turn the CPU timer measurement on or off
これらのドットコマンドを説明する前に、基本的なデータベース操作のいくつかを見てみましょう。
最初に「.quit」コマンドを実行してセッションを終了します。
データベースの作成
シェルプロンプトで以下のコマンドを実行します。
作成します “example.db “(”の代わりに名前を選択できますexample.db “)データベースファイル(存在しない場合)。存在する場合は、ファイルに含まれているデータベースを開きます。
$ sqlite3 example.db
SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
「sqlite3」コマンドと「sqlite3dbname.db」コマンドの違いは、最初のコマンドがセッションの一時データベースを作成し、セッションが閉じられると期限切れになることです。
テーブルの作成
属性を持つ学生テーブルを作成しましょう:
reg_no int(4)
名前varchar(20)
マークint(3)
ターミナルで次のコマンドを入力します
sqlite> create table student (
...> reg_no int(4),
...> name varchar(20),
...> marks int(3)
...> );
上記の属性を持つ学生テーブルを作成します。
選択したデータベースのテーブルのリストは、次の方法で確認できます。 。テーブル 指図
sqlite> .table
student
私の場合、テーブルの学生は1人だけです。
次を使用してテーブルのスキーマを確認することもできます .schema table_name
sqlite> .schema student
CREATE TABLE student (
reg_no int(4),
name varchar(20),
marks int(3)
);
データの挿入
テーブルに3つのレコードを挿入しましょう
101、プラディップ、87
102、Avinash、86
103、Rakesh、90
Enter 次のコマンドを1つずつ
sqlite> insert into student (reg_no, name, marks) values (101, 'Pradip', 87);
> insert into student (reg_no, name, marks) values (102, 'Avinash', 86);
> insert into student (reg_no, name, marks) values (103, 'Rakesh', 91);
データの取得
selectステートメントを使用してテーブルからデータをフェッチできます
sqlite> select * from student;
101|Pradip|87
102|Avinash|86
103|Rakesh|91
デフォルトモード(リスト)での結果を表示します。
あなたはでモードを変更することができます 。モード 指図
Enter プロンプトを表示してからselectクエリを実行する.mode列。 結果が列形式で表示されます。
sqlite> .mode column
> select * from student;
reg_no name marks
---------- ---------- ----------
101 Pradip 87
102 Avinash 86
103 Rakesh 91
Delete、Alter、Dropなどの構文はsqlと同じです。
sqlite3(dot -commands)への特別なコマンド
「.help」コマンドがすべてのドットコマンドを一覧表示するのを見ました。 他のいくつかの重要なコマンドを理解しましょう。
1).databases
選択したデータベースの名前を表示します。
sqlite> .database
seq name file
--- --------------- --------------------
0 main /home/avi/example.db
- 。テーブル
選択したデータベースのテーブルを一覧表示します。
sqlite> .table
student
2).show
現在の設定を表示します
sqlite> .show
echo: off
explain: off
headers: off
mode: list
nullvalue: ""
output: stdout
separator: "|"
stats: off
width:
3).header ON | OFF
.header ON | OFFコマンドを実行すると、クエリ結果に属性名を表示できます。
sqlite> .header ON
> select * from student;
reg_no name marks
---------- ---------- ----------
101 Pradip 87
102 Avinash 86
103 Rakesh 91
4).mode
プログラムは、クエリの結果を「csv」、「column」、「html」、「insert」、「line」、「list」、「tabs」、「tcl」.. modeの8つの異なる形式で表示できます。コマンドは、これらの出力形式を切り替えるために使用されます。
sqlite> .mode csv
> select * from student;
reg_no,name,marks
101,Pradip,87
102,Avinash,86
103,Rakesh,91
使用できます .separator 区切り文字を変更するコマンド。
sqlite> .separator-
>学生から*を選択します。
reg_no-name-marks
101-プラディプ-87
102-アビナッシュ-86
103-Rakesh-91
結果をファイルに書き込む
デフォルトでは、クエリ結果を標準出力に送信します。
これは、「。output」および「.once」コマンドを使用して変更できます。
出力ファイルの名前を.outputの引数として指定するだけで、後続のすべてのクエリ結果がそのファイルに書き込まれます。
sqlite> .output ex.txt
または、 。一度 次のクエリの結果のみをリダイレクトする場合は、ファイル名を指定したコマンド。
基本的な操作でLinuxにSQLiteを正常にインストールしました。 これらの操作はほんの数例です すべて利用可能。 この記事でそれらすべてをカバーすることはできません。 インストールやコマンドで問題が発生した場合は、コメントセクションでお知らせください。