Linuxでのインストール方法と基本的なSQLiteの使用

この記事では、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 installed
sudo 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を正常にインストールしました。 これらの操作はほんの数例です すべて利用可能。 この記事でそれらすべてをカバーすることはできません。 インストールやコマンドで問題が発生した場合は、コメントセクションでお知らせください。