SQLite数据库导入和导出
学习android开发快一个月了,手头上有个项目要用到SQLite数据库,所以在网上搜了下并结合自己的体会总结了一下关于SQLite数据库的导入和导出的知识。 新建student.bat脚本文件和student.sql数据库文件,代码如下 student.bat @ECHO OFF C: CD %HOMEPATH%/Desktop SQLITE3 STUDENT.DB < student.sql //从student.sql文件提取数据导入并创建student.db SQLITE3 STUDENT.DB .dump > student_result.sql //从student.db导出数据并创建student_result.sql student.sql CREATE TABLE STUDENTS( ID INTEGER PRIMARY KEY,TEACHER_ID INTEGER,NAME TEXT NOT NULL,SEX CHAR NOT NULL); INSERT INTO STUDENTS (ID,TEACHER_ID,NAME,SEX) VALUES (22222222221,22222222222,'张三','男'); INSERT INTO STUDENTS (ID,SEX) VALUES (2222222222,'李四',SEX) VALUES (2222211,'王五','男'); .quit注意这里在sql文件里输入了中文,新建txt文件时默认编码格式是ANSI,这样运行时会出错或者什么结果都没,所以应该把文件的编码格式都改成UTF-8,经过尝试,这里另存为UTF-8也不行,所以最好是用EditPlus来写txt里面的内容并转码成UTF-8。 运行student.bat后会出现两个文件 student.db和student_result.sql student.db
student_result.sql PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE STUDENTS( ID INTEGER PRIMARY KEY,SEX CHAR NOT NULL); INSERT INTO "STUDENTS" VALUES(2222211,'男'); INSERT INTO "STUDENTS" VALUES(2222222222,'男'); INSERT INTO "STUDENTS" VALUES(22222222221,'男'); COMMIT; 是不是发现和student.sql长得很像,其实两个文件是一样的,不信你把student_result.sql做导入文件试试。
导出数据到sales.sql
这里最后一行的.output stdout一定不能掉,不然导出的sql文件为空,里面什么数据都没有。有了sal文件之后,可以随时按照上面已经提供的方法恢复数据库。 当然,有时候我们只需要SQLite里面的相关数据就行,只需要把最后三行代码修改一下就可以了。 这里把salesmanager.db中的productinfo表导出到productinfo.txt中,前面忘了说了,所有导出文件如不存在会自动创建。 所有文件导出导入都在桌面上进行,打开productinfo.txt发现所有数据都已经导入了,这可比手动一个个输入快多了,特别要注意的一点是倒数第二行后面必须跟分号,不然SQlite会认为命令没输完。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |