欢迎来到天天文库
浏览记录
ID:34772609
大小:70.18 KB
页数:4页
时间:2019-03-10
《数据库的导入导出与备份》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(1)数据导入 建立了Sqlite数据库后就要建立表输入数据了,多数时候数据量较大,手动输入不可能,必须用导入语句 导入逗号分隔csv格式数据 首先建立一个表,比如test.db中建表test,如果表已经存在,可以利用命令".schema"查看该表结构,比如 sqlite>.schematest,结果得到test表的结构,因为要导入的数据必须具有相似的结构,所以必须明了目标表的结构。 createtabletest(idintprimarykey,value); 比如test表具有下面的数据1
2、342
3、993
4、9904
5、
6、390 另一个csv文本文件为test.csv,内容如下:5,5606,78利用“.import”命令可以导入该数据,在导入数据之前,利用“.separator''”命令转换sqlite默认分隔符,比如“.separator,”这一句就将分隔符改变为逗号,与预导入数据一致才能顺利导入,然后键入下面语句.importtest.csvtest这样表test就多了从csv文件导入的两行记录,sqlite最新版本已经默认使用事件,因此海量数据导入也很轻松高效。同样的方法可以导入txt文本文件。 (2)数据导出.outout.txtselect*fromte
7、st;.outputstdout以上三个语句将表test的全部内容查询结果创建并导入了文件out.txt,最后一句是使输出重新定位到屏幕,结束文件导出。 (3)备份数据库 .output[filename]导出到文件中,如果该文件不存在,则自动创建 .dump导出数据命令 .outputstdout返回输出到屏幕(进行其他操作) (4)导入(恢复)数据库 sqlite3test.db8、te数据库文件名,如果文件不存在就会自动新建一个新的数据库。然后你可以直接输入SQL语句,再按下"Enter"键来执行。例如,新建一个名为"ex1"的SQLite数据库,再为它新建一个"tb1"的数据表,你可以这样做:$sqlite3ex1SQLiteversion3.3.10Enter".help"forinstructionssqlite>createtabletbl1(onevarchar(10),twosmallint);sqlite>insertintotbl1values('hello!',10);sqlite>insertintotbl9、1values('goodbye',20);sqlite>select*fromtbl1;hello!10、10goodbye11、20sqlite>你可以输入系统的结束字符(通常使用Control-D)或者中断字符(通常使用Control-C)来结束sqlite3程序。你要确保在每条SQL语句后面输入分号,Sqlite3会寻找分号(;)来识别SQL语句是否完成。如果你漏掉了分号,sqlite3会提示你继续输入,这个特性允许你输入多行的SQL命令。例如:sqlite>CREATETABLEtbl2( ...> f1varchar(30)primaryk12、ey, ...> f2text, ...> f3real ...>);sqlite>查询SQLITE_MASTER表一个SQLite数据库的数据结构是存贮在"sqlite_master"表中。你可以像其他数据表一样对sqlite_master表执行“SELECT”语句,例如:$sqlite3ex1SQlitevresion3.3.10Enter".help"forinstructionssqlite>select*fromsqlite_master; type=table name=tbl1tbl_name=tbl1roo13、tpage=3 sql=createtabletbl1(onevarchar(10),twosmallint)sqlite>但是你不能够对sqlite_master表执行DROPTABLE,UPDATE,INSERTorDELETE,当你创建或者删除表的时候,sqlite_master表会自动更新。你不能手工改变sqlite_master表。临时表的结构不会存贮到sqlite_master表中,临时表是存贮在另一个特殊的表,叫做"sqlite_temp_master"。"sqlite_temp_master"表本身就是临时的。将结果写到文件默14、认情况下,sqlite3会将结果发送到标准输出,你可以使用".output"来改变,只是将输出到的文件名作为
8、te数据库文件名,如果文件不存在就会自动新建一个新的数据库。然后你可以直接输入SQL语句,再按下"Enter"键来执行。例如,新建一个名为"ex1"的SQLite数据库,再为它新建一个"tb1"的数据表,你可以这样做:$sqlite3ex1SQLiteversion3.3.10Enter".help"forinstructionssqlite>createtabletbl1(onevarchar(10),twosmallint);sqlite>insertintotbl1values('hello!',10);sqlite>insertintotbl
9、1values('goodbye',20);sqlite>select*fromtbl1;hello!
10、10goodbye
11、20sqlite>你可以输入系统的结束字符(通常使用Control-D)或者中断字符(通常使用Control-C)来结束sqlite3程序。你要确保在每条SQL语句后面输入分号,Sqlite3会寻找分号(;)来识别SQL语句是否完成。如果你漏掉了分号,sqlite3会提示你继续输入,这个特性允许你输入多行的SQL命令。例如:sqlite>CREATETABLEtbl2( ...> f1varchar(30)primaryk
12、ey, ...> f2text, ...> f3real ...>);sqlite>查询SQLITE_MASTER表一个SQLite数据库的数据结构是存贮在"sqlite_master"表中。你可以像其他数据表一样对sqlite_master表执行“SELECT”语句,例如:$sqlite3ex1SQlitevresion3.3.10Enter".help"forinstructionssqlite>select*fromsqlite_master; type=table name=tbl1tbl_name=tbl1roo
13、tpage=3 sql=createtabletbl1(onevarchar(10),twosmallint)sqlite>但是你不能够对sqlite_master表执行DROPTABLE,UPDATE,INSERTorDELETE,当你创建或者删除表的时候,sqlite_master表会自动更新。你不能手工改变sqlite_master表。临时表的结构不会存贮到sqlite_master表中,临时表是存贮在另一个特殊的表,叫做"sqlite_temp_master"。"sqlite_temp_master"表本身就是临时的。将结果写到文件默
14、认情况下,sqlite3会将结果发送到标准输出,你可以使用".output"来改变,只是将输出到的文件名作为
此文档下载收益归作者所有