sqlite的数据导入 导出
来源:互联网 发布:舞蹈教学软件 编辑:程序博客网 时间:2024/05/21 09:39
原文地址:http://www.cnblogs.com/gzggyy/archive/2012/05/25/2518024.html
数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件。
1. 首先,确定导入的数据源,这里是待导入的,按固定格式的文本文件。
2. 然后,依照导入的文件格式,确定想导入的目标数据表,这个数据表如果没有,可以依照待导入的文本文件格式,创建一个相对应的数据表。
3. 最后,执行.import命令,将文本文件中数据导入数据表中。
1. 数据源
在/home/ywx/yu/sqlite/下,创建一个名为data.txt的文本文件,并输入以下数据,数据之间采用逗号隔开
- id,name,age,address,hobby
- 1,tom,24,beijing,football
- 2,liu,27,heibei,fotball
- 3,jim,26,shandong,football
- 4,han,28,beijing,football
- 5,meng,25,beijing,tennis
2. 目标数据表
这里创建一张目标数据表,通过分析文本格式,这里需要3个字段,分别是id,name,age。但在数据类型选择时存在一个问题,id和age在文本文件中是按字符型存储的,而其实际在数据表中,最好要表示成整型,因此这里要涉及到一个字符型数据类型向整型数据类型转换的问题。
在创建表时,将id和age的类型定义为整型,进行强制转换,如果在数据导入时,发现转换失败,可以将id和age类型改为文本型。
- ywx@ywx:~/yu/sqlite$ sqlite3 test.db
- SQLite version 3.7.7.1 2011-06-28 17:39:05
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> create table data_txt_table(id char(10),name char(10),age char(10),address varchar(15),hobby varchar (15));
- sqlite>
3. 导入命令
- sqlite> .separator ","
- sqlite> .import data.txt data_txt_table
- sqlite> select * from data_txt_table;
- id,name,age,address,hobby
- 1,tom,24,beijing,football
- 2,liu,27,heibei,fotball
- 3,jim,26,shandong,football
- 4,han,28,beijing,football
- 5,meng,25,beijing,tennis
- sqlite>
这里需要注意一点,在数据导入之前,先要根据数据的具体分的格式,设置数据导入的间隔符,例如在文本数据中采用的是‘,’来间隔数据,因此应先调用.seperator 设置‘,’ 为间隔符。
2. 查看命令
.schema 命令来查看指定的数据表的结构
- sqlite> .schema data_txt_table
- CREATE TABLE data_txt_table(id char(10),name char(10),age char(10),address varchar(15),hobby varchar (15));
- sqlite>
2. .tables 命令用来查看当前数据库的所有数据表
- sqlite> .tables
- data_txt_table
- sqlite>
3. databases 命令用来查看当前所有数据库
- sqlite> .databases
- seq name file
- --- --------------- ----------------------------------------------------------
- 0 main /home/ywx/yu/sqlite/test.db
- 1 temp
3. 数据导出
数据导出也是一个常用到的操作,可以将指定表中的数据导出成SQL脚本,供其他数据库使用,还可以将指定的数据表中的数据完整定位到标准输出,也可以将指定数据库中的数据完整的导入到另一个指定数据库等,
1. 导出成指定的SQL脚本
将sqlite中指定的数据表以SQL创建脚本的形式导出,具体命令
- ywx@ywx:~/yu/sqlite$ sqlite3 test.db
- SQLite version 3.7.7.1 2011-06-28 17:39:05
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> .output data.sql
- sqlite> .dump
- sqlite>
- ywx@ywx:~/yu/sqlite$ ll
- 总计 16
- drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:15 ./
- drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53 ../
- -rw-r--r-- 1 ywx ywx 602 2011-08-13 23:17 data.sql
- -rw-r--r-- 1 ywx ywx 2048 2011-08-13 22:44 test.db
2. 数据库导出
- data.sql test.db
- ywx@ywx:~/yu/sqlite$ sqlite3 test.db ".dump" | sqlite3 test2.db
- ywx@ywx:~/yu/sqlite$ ll
- 总计 20
- drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:20 ./
- drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53 ../
- -rw-r--r-- 1 ywx ywx 602 2011-08-13 23:17 data.sql
- -rw-r--r-- 1 ywx ywx 2048 2011-08-13 23:20 test2.db
- -rw-r--r-- 1 ywx ywx 2048 2011-08-13 22:44 test.db
3. 其他格式,如:htm格式输出
- ywx@ywx:~/yu/sqlite$ sqlite3 -html test.db "select * from data_txt_table" > liu.htm
- ywx@ywx:~/yu/sqlite$ ls
- data.sql liu.htm test2.db test.db
- http://blog.chinaunix.net/uid-22666248-id-2182334.html
- sqlite的数据导入 导出
- sqlite的数据导入 导出
- sqlite的数据导入 导出
- sqlite的数据导入导出
- sqlite的数据导入导出
- sqlite的数据导入 导出
- SQLite的导入导出
- SQLite数据导入和导出
- Sqlite 命令行导出、导入数据
- SQLite表结构和数据的导入导出
- SQLite表结构和数据的导入导出
- SQLite表结构和数据的导入导出
- SQLite数据库表结构和数据的导入导出
- Android开发笔记:SQLite导入导出数据
- 数据的导入导出
- 数据的导入导出
- sqlite db数据的导出
- 使用sqlite的文件导入导出功能
- Hadoop集群搭建
- IOS8下使用TestFlight进行Beta测试
- iOS-响应上下左右滑动手势
- JAVA 学习第5天(1)抽象类练习
- 第8周-项目1-复数类中的运算符重载(续)-++、--、>>、<<
- sqlite的数据导入 导出
- .VC获取EXCEL 表格的总行列数 新建文件
- ATS无法缓存QQ音乐的音频文件问题
- 2015编程之美资格赛-2月29日
- ListView 点击加载更多出现异常(java.lang.IndexOutOfBoundsException: Invalid index 10, size is 10)
- 剑指Offer之 - 调整数组顺序使奇数位于偶数前面
- Latex简历
- Windows 2008 R2 导出Excel时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
- WinCE 应用程序开机自动运行 .