Android——sqlite 3基本命令操作
普段はdatabaseを使うところは多くないです。ここでshell端末下で直接dbに対する基本操作を記録してください。
文章を書くのは簡単ではないです。転載は出所を明記してください。http://blog.csdn.net/jscese/article/details/40016701
一.概念:
sqlite 3はAndroidで使用されている軽量級データベースで、コンパクトで便利です。Androidシステムの各種dbファイルを管理するために、uuntuにsqliemをインストールして、androidシステムの中のdbファイルを調べられます。Framworkの中のインターフェースの位置:framw orks/base/core/java/android/datable/datable
二.shell使用:
私が使っているのはubuntuのminicom下のshell端末です。システムsettingのdatabaseを例にして、カタログは:/data/data/comp.android.providers.settings/databases/setting.dbです。
cdからdatabasesディレクトリの下で、データベースファイルを開きます。sqlite 3 setting.db
sqlite 3 *.dbデータベースを開きます。存在しているなら開いてください。存在しないなら作成し、変更後に作成を保存できます。
使用.help表示ヘルプ:
.database データベース情報を表示する;現在のデータベースの位置を含む。 或いは.テーブル名が表でないと表示しない.schema コマンドは、データオブジェクトを作成するときのSQLコマンドを表示できます。
.mode csv column insert ga line e list𞓜tabs tcl 出力フォーマットを変更
デフォルトでは、select*from systemを使ってsystemテーブルのすべてのデータを調べます。
.separator「X」を定義します。Xは分割子です。
使用.mode culumnの後:
1.作成命令:
NULL:この値は空の値INTEGER:値は整数として識別され、値の大きさに応じて順次1,2,3,4,5,6,7,8バイトのREALに格納することができます。すべての値は浮動小数の値で、8バイトのIEEE浮動マーカー番号として記憶されます。どのように入力すれば保存できますか?
2.データを挿入する:
Error:table table_name has*columns but*values were supplied
3.クエリー指定データ:
_。id,name,value,コマンド作成中に見ることができます。
4.データの削除:
dropテーブルテーブルテーブルname
5.テーブルデータの更新:
SQL命令を使用した後、プラス記号なしでイベントに参加し、入力モードに入ります。この時にもう一つ追加します。セミコロンでいいです
出現します ^Hという文字化け、
ネットで他の人から与えられたものは試したことがありません。http://ljhzzyx.blog.163.com/blog/static/3838031220102595026789/
本機の端末adb shellはキャンセルキーを識別することができます。
一般退出sqlite 3使用.quit
どうしても引き下せない ...> モードを使用します ctrl+D 無理に退きます
文章を書くのは簡単ではないです。転載は出所を明記してください。http://blog.csdn.net/jscese/article/details/40016701
一.概念:
sqlite 3はAndroidで使用されている軽量級データベースで、コンパクトで便利です。Androidシステムの各種dbファイルを管理するために、uuntuにsqliemをインストールして、androidシステムの中のdbファイルを調べられます。Framworkの中のインターフェースの位置:framw orks/base/core/java/android/datable/datable
二.shell使用:
私が使っているのはubuntuのminicom下のshell端末です。システムsettingのdatabaseを例にして、カタログは:/data/data/comp.android.providers.settings/databases/setting.dbです。
cdからdatabasesディレクトリの下で、データベースファイルを開きます。sqlite 3 setting.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
SQLバージョンと簡単なヒントが見られます。SQL文を使う時は「;」で区切ります。sqlite 3 *.dbデータベースを開きます。存在しているなら開いてください。存在しないなら作成し、変更後に作成を保存できます。
使用.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.
.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 Print STRING in place of NULL values
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen
.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
.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
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
sqlite>
sqlite>
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.
.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 Print STRING in place of NULL values
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen
.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
.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
サポートされているコマンドが表示されます。.database データベース情報を表示する;現在のデータベースの位置を含む。 或いは.テーブル名が表でないと表示しない.schema コマンドは、データオブジェクトを作成するときのSQLコマンドを表示できます。
.mode csv column insert ga line e list𞓜tabs tcl 出力フォーマットを変更
デフォルトでは、select*from systemを使ってsystemテーブルのすべてのデータを調べます。
sqlite> select * from system;
1|volume_music|15
2|volume_ring|5
3|volume_system|7
4|volume_voice|4
5|volume_alarm|6
6|volume_notification|5
7|volume_bluetooth_sco|7
...
リストとして表示されているものが見られます。そしてID name valueは「|」で区切られています。.separator「X」を定義します。Xは分割子です。
使用.mode culumnの後:
sqlite> .mode column
sqlite> select * from system;
1 volume_music 15
2 volume_ring 5
3 volume_syste 7
4 volume_voice 4
5 volume_alarm 6
6 volume_notif 5
7 volume_bluet 7
他の類似点は出力のフォーマットを変えるためだけです。1.作成命令:
sqlite> .schema system
CREATE TABLE system (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT);
CREATE INDEX systemIndex1 ON system (name);
作成時にパラメータと属性を指定します。ここには3つあります。そして、自己増加します。データの種類について:NULL:この値は空の値INTEGER:値は整数として識別され、値の大きさに応じて順次1,2,3,4,5,6,7,8バイトのREALに格納することができます。すべての値は浮動小数の値で、8バイトのIEEE浮動マーカー番号として記憶されます。どのように入力すれば保存できますか?
2.データを挿入する:
sqlite> .mode insert
sqlite> select * from system;
INSERT INTO table VALUES(1,'volume_music','15');
INSERT INTO table VALUES(2,'volume_ring','5');
INSERT INTO table VALUES(3,'volume_system','7');
INSERT INTO table VALUES(4,'volume_voice','4');
INSERT INTO table VALUES(5,'volume_alarm','6');
INSERT INTO table VALUES(6,'volume_notification','5');
INSERT INTO table VALUES(7,'volume_bluetooth_sco','7');
systemテーブルにデータを挿入すると、insert into system values('45','sqlite','jscese');
ここにデータを挿入するには、作成時の数に応じて作成します。Error:table table_name has*columns but*values were supplied
3.クエリー指定データ:
sqlite> select * from system where name='sqlite';
INSERT INTO table VALUES(45,'sqlite','jscese');
テーブルの種類の値によって、クエリーをフィルタします。ここには、テーブルの属性があります。_。id,name,value,コマンド作成中に見ることができます。
4.データの削除:
delete from system where value='jscese';
テーブル全体を削除:dropテーブルテーブルテーブルname
5.テーブルデータの更新:
45|sqlite|jscese
sqlite> update system set name='sqlite3' where value='jscese';
sqlite> select * from system where value='jscese';
45|sqlite3|jscese
6.操作問題:SQL命令を使用した後、プラス記号なしでイベントに参加し、入力モードに入ります。この時にもう一つ追加します。セミコロンでいいです
sqlite> select * from system
...> ;
私は直接minicomの下でsqliteを使って上下左右の方向キーを識別できません。出現します ^Hという文字化け、
ネットで他の人から与えられたものは試したことがありません。http://ljhzzyx.blog.163.com/blog/static/3838031220102595026789/
本機の端末adb shellはキャンセルキーを識別することができます。
一般退出sqlite 3使用.quit
どうしても引き下せない ...> モードを使用します ctrl+D 無理に退きます