SQLite实用武器库(1)利用dump命令和read命令导出数据、导入数据
2017-05-18 16:49
501 查看
调试环境:
ubuntu 16.04
Android sdk 7.1.1 / platform-tools sqlite3
进入SQLIte命令行,直接使用标准SQL建表:
看到对应目录下,db文件“test.db”已经被自动创建。再打开,检查一下刚刚创建的表:
当然,还可以用schema命令查看一下更详细的信息:
向test_table中插入一些数据:
利用dump命令,将数据导出到文件。如果dump不带参数,则导出整个数据库:
查看test_table.sql文件内容:
dump命令将数据库对象导出成SQL格式:数据库定义语言(DDL)和数据操作语言(DML)命令,这些信息可以帮助我们重建数据库对象和其中的数据,可以说是完整地重现整个表。
从test_table.sql文件内容可以看到,其中包含了DDL——create table,DML——insert values,并且在一个数据库事务中完成。
查看表情况:
看到表test_table被克隆恢复。
可以用read命令来直接读取(2)中dump导出的文件test_table.sql,完成数据库导入:
ubuntu 16.04
Android sdk 7.1.1 / platform-tools sqlite3
(1)创建数据库文件
无需手动创建db文件,直接在命令行执行:~/test_sqlite$ sqlite3 test.db
进入SQLIte命令行,直接使用标准SQL建表:
sqlite> create table test_table (id integer primary key, name text, description text); sqlite> .exit
看到对应目录下,db文件“test.db”已经被自动创建。再打开,检查一下刚刚创建的表:
~/test_sqlite$ sqlite3 test.db SQLite version 3.9.2 2015-11-02 18:31:45 Enter ".help" for usage hints. sqlite> .tables test_table
当然,还可以用schema命令查看一下更详细的信息:
sqlite> .schema test_table CREATE TABLE test_table (id integer primary key, name text, description text);
向test_table中插入一些数据:
sqlite> insert into test_table (id, name, description) values (0, 'name0', 'des0'); sqlite> insert into test_table (id, name, description) values (1, 'name1', 'des1'); sqlite> insert into test_table (id, name, description) values (2, 'name2', 'des2'); sqlite> sqlite> sqlite> select * from test_table; 0|name0|des0 1|name1|des1 2|name2|des2
(2)利用dump命令导出数据库表到文件
首先,重定向sqlite输出到文件。同样不需要手动创建文件,直接给出文件名即可:sqlite> .output test_table.sql
利用dump命令,将数据导出到文件。如果dump不带参数,则导出整个数据库:
sqlite> .dump test_table重定向输出回标准命令行输出:
sqlite> .output stdout
查看test_table.sql文件内容:
PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE test_table (id integer primary key, name text, description text); INSERT INTO "test_table" VALUES(0,'name0','des0'); INSERT INTO "test_table" VALUES(1,'name1','des1'); INSERT INTO "test_table" VALUES(2,'name2','des2'); COMMIT;
dump命令将数据库对象导出成SQL格式:数据库定义语言(DDL)和数据操作语言(DML)命令,这些信息可以帮助我们重建数据库对象和其中的数据,可以说是完整地重现整个表。
从test_table.sql文件内容可以看到,其中包含了DDL——create table,DML——insert values,并且在一个数据库事务中完成。
(3)利用read命令导入数据
利用(2)中导出的数据库dump信息,批量执行其中的SQL:sqlite> BEGIN TRANSACTION; CREATE TABLE test_table (id integer primary key, name text, description text); INSERT INTO "test_table" VALUES(0,'name0','des0'); INSERT INTO "test_table" VALUES(1,'name1','des1'); INSERT INTO "test_table" VALUES(2,'name2','des2');sqlite> COMMIT;
查看表情况:
sqlite> .tables test_table sqlite> select * from test_table; 0|name0|des0 1|name1|des1 2|name2|des2
看到表test_table被克隆恢复。
可以用read命令来直接读取(2)中dump导出的文件test_table.sql,完成数据库导入:
sqlite> drop table test_table;
sqlite> .tables
sqlite>
sqlite> .read test_table.sql
sqlite> .tables test_table sqlite> select * from test_table; 0|name0|des0 1|name1|des1 2|name2|des2
相关文章推荐
- SQLite实用武器库(2)利用import命令导入导出数据到CSV文件
- Redis 数据导入导出,redis-dump命令
- SQLite实用武器库(3)利用headers命令在命令行中显示列信息
- 利用 mysqldump命令 或者mysql命令导入导出数据
- ORACLE数据导入导出里的EXP/IMP 命令参数
- Oracle数据导入导出imp/exp命令
- 转:Oracle数据导入导出imp/exp命令
- 利用外部命令Oralce数据库导入导出
- Oracle数据导入导出(imp/exp)命令的使用
- Oracle数据导入/导出命令
- 用命令导入导出MS SQL数据
- Oralce数据库导入导出(利用外部命令:imp/exp命令 )
- 利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出
- Oracle数据导入导出imp/exp命令(转)
- Oracle数据导入导出imp/exp命令
- Oracle数据导入导出imp/exp命令
- informix中简单数据导入导出命令sh程序
- [转载]利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出
- Oracle数据导入导出imp/exp命令
- Oracle数据导入导出imp/exp命令