1. ホーム
  2. データベース
  3. エスキューエルライト

ubuntuでSQLite3を使うための基本コマンド

2022-01-10 23:44:47

システムプラットフォーム:ubuntu10.04

はじめに
/{br sqlite3は、主に組み込み用の軽量なデータベースです。この記事は、sqlite3の基本的なコマンドに慣れるための技術的なドキュメントを提供することを目的としています。
     注意:この記事で紹介する操作は、すべてrootユーザーで行っています。

1. sqlite3 のインストール
/{br ubuntuにsqlite3をインストールするには、ターミナルから直接コマンドを実行します。

#apt-get install sqlite3


バージョン情報を表示する。

#sqlite3 -version



/
2 、sqlite3共通コマンド
カレントディレクトリにデータベースファイルtest.dbを作成するか開き、sqliteコマンドターミナル(sqlite>という接頭辞で識別されます)を入力します。

#sqlite3 test.db



/{br データベースファイルの情報を見るためのコマンド(コマンドの前に'.'という文字があることに注意) :

sqlite>.database


テーブル作成ステートメントをすべて表示します。

sqlite>.schema



指定したテーブルの作成ステートメントを表示します。

sqlite>.schema table_name


/{br


List the table contents as a sql statement.
sqlite>.dump table_name
 
Set the separator for displaying information.
sqlite>.separator symble
Example: Set the display information to be separated by ':'
sqlite>.separator :
 
Set the display mode.
sqlite>.mode mode_name
Example: default is list, set to column, other modes can be viewed via .help for mode related content
sqlite>.mode column
 
Output help information.
sqlite>.help
 
Set the width of each column to be displayed.
sqlite>.width width_value
Example:Set the width to 2
sqlite>.width 2
 
List the configuration of the current display format.
sqlite>.show
 
Exit sqlite terminal command.
sqlite>.quit
or
sqlite>.exit



3、sqlite3コマンド
sqlコマンドの書式。すべてのSQLコマンドはセミコロン(;)で終わり、2つのマイナス記号(--)はコメントを示します。
例えば

sqlite>create studen_table(Stu_no interger PRIMARY KEY, Name text NOT NULL, Id interger UNIQUE, Age interger CHECK(Age>6), School text DEFAULT 'xx Primary School);


このステートメントでは、生徒の情報を記録するデータテーブルを作成します。
3.1 sqlite3が格納するデータの種類
NULL: NULL 値を識別する
INTERGER: 整数型
REAL:浮動小数点数
TEXT: 文字列
BLOB: 2進数

3.2 sqlite3格納データの制約事項
Sqliteでよく使われる制約を以下に示します。
PRIMARY KEY - プライマリーキー。
1) 主キーの値は、学生の学籍番号のように、各レコードを識別するために使用されるユニークなものである必要があります
2) 主キーはインデックスでもあるため、主キーでレコードを探す方が早い
3) 主キーが整数型の場合、カラムの値を自動的に大きくすることができる
NOT NULL - NULLでないこと。
制約列のレコードをNULLにすることはできません、さもなければエラーが報告されます
UNIQUE - 一意である。
主キー以外のカラムのデータの値が一意であることを制約する。
CHECK - 条件のチェック。
カラムの値が条件に一致しないと預けることができないように制約をかける
DEFAULT - デフォルト値です。
カラムデータの値は基本的に同じであり、このようなフィールドカラムはデフォルト値として設定することができる

3.3 sqlite3 共通コマンド

1) Create the data table
create table table_name(field1 type1, field2 type1, ...) ;
table_name is the name of the table to be created, fieldx is the name of the field in the table, and typex is the field type.
Example, create a simple student information table, which contains student information such as student number and name.
create table student_info(stu_no interger primary key, name text);
 
2) Add data records
insert into table_name(field1, field2, ...) values(val1, val2, ...) ;
valx is the value to be stored in the field.
Example, to add data to the student information table.
Insert into student_info(stu_no, name) values(0001, alex);
 
3) Modify the data record
update table_name set field1=val1, field2=val2 where expression;
where is the sql statement for conditional judgment of the command, expression for judgment expression
Example, modify the student information table student number 0001 data record.
update student_info set stu_no=0001, name=hence where stu_no=0001;
 
4) Delete the data record
delete from table_name [where expression];
Clear all the data records of the table without adding the judgment condition.
Example, delete the data record with the student information table number 0001.
delete from student_info where stu_no=0001;
 
5) Query data records
The basic format of the select command is
select columns from table_name [where expression];
a query output all data records
select * from table_name;
bLimit the number of output data records
select * from table_name limit val;
cExport data records in ascending order
select * from table_name order by field asc;
d output data records in descending order
select * from table_name order by field desc;
eConditional query
select * from table_name where expression;
select * from table_name where field in ('val1', 'val2', 'val3');
select * from table_name where field between val1 and val2;
f Query the number of records
select count (*) from table_name;
g Distinguish column data
select distinct field from table_name;
There are some fields whose values may be repeated, distinguish to remove duplicate items and list each field value in the column individually.
 
6) Create indexes
When say there are a large number of records in the data table, indexes help speed up finding the data table.
create index index_name on table_name(field);
Example, for the student table stu_no field, create an index.
create index student_index on student_table(stu_no);
After the creation, sqlite3 will automatically use the index when querying the field.
 
7) Delete the table or index
drop table table_name;
drop index index_name;


参考
http://www.sqlite.com.cn/MySqlite/4/378.Html