sqlite数据转移到mysqlserver

load data local infile “c:/data.txt”
into table person(name,age,city,salary);



数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件

1. 首先,确定导入的数据源,这里是待导入的,按固定格式的文本文件
2. 然后,依照导入的文件格式,确定想导入的目标数据表,这个数据表如果没有,可以依照待导入的文本文件格式,创建一个相对应的数据表。
3. 最后,执行.import命令,将文本文件中数据导入数据表中。


1. 数据源

在/home/ywx/yu/sqlite/下,创建一个名为data.txt的文本文件,并输入以下数据,数据之间采用逗号隔开

  1. id,name,address,hobby

  2. 1,tom,24,beijing,football

  3. 2,liu,27,heibei,fotball

  4. 3,jim,26,shandong,football

  5. 4,han,28,football

  6. 5,meng,25,tennis


2. 目标数据表
这里创建一张目标数据表,通过分析文本格式,这里需要3个字段,分别是id,age。但在数据类型选择时存在一个问题,id和age在文本文件 中是按字符型存储的,而其实际在数据表中,最好要表示成整型,因此这里要涉及到一个字符型数据类型向整型数据类型转换的问题。
在创建表时,将id和age的类型定义为整型,进行强制转换,如果在数据导入时,发现转换失败,可以将id和age类型改为文本型。

  1. ywx@ywx:~/yu/sqlite$ sqlite3 test.db

  2. sqlite version 3.7.7.1 2011-06-28 17:39:05

  3. Enter".help"forinstructions

  4. Enter sql statements terminated with a";"

  5. sqlite>create table data_txt_table(id char(10),name char(10),age char(10),address varchar(15),hobby varchar(15));

  6. sqlite>


3. 导入命令

  1. sqlite>.separator","

  2. sqlite>.import data.txt data_txt_table

  3. sqlite>select*from data_txt_table;

  4. id,hobby

  5. 1,tennis

  6. sqlite>


这里需要注意一点,在数据导入之前,先要根据数据的具体分的格式,设置数据导入的间隔符,例如在文本数据中采用的是‘,’来间隔数据,因此应先调用.seperator 设置‘,’ 为间隔符。


2. 查看命令

.schema 命令来查看指定的数据表的结构

  1. sqlite>.schema data_txt_table

  2. CREATE TABLE data_txt_table(id char(10),hobby varchar(15));

  3. sqlite>


2. .tables 命令用来查看当前数据库的所有数据表

  1. sqlite>.tables

  2. data_txt_table

  3. sqlite>


3. databases 命令用来查看当前所有数据库

  1. sqlite>.databases

  2. seq name file

  3. ----------------------------------------------------------------------------

  4. 0 main/home/ywx/yu/sqlite/test.db

  5. 1 temp



3. 数据导出

数据导出也是一个常用到的操作,可以将指定表中的数据导出成sql脚本,供其他数据库使用,还可以将指定的数据表中的数据完整定位到标准输出,也可以将指定数据库中的数据完整的导入到另一个指定数据库等,

1. 导出成指定的sql脚本
sqlite中指定的数据表以sql创建脚本的形式导出,具体命令

  1. ywx@ywx:~/yu/sqlite$ sqlite3 test.db

  2. sqlite version 3.7.7.1 2011-06-28 17:39:05

  3. Enter".help"forinstructions

  4. Enter sql statements terminated with a";"

  5. sqlite>.output data.sql

  6. sqlite>.dump

  7. sqlite>

  1. ywx@ywx:~/yu/sqlite$ ll

  2. 总计 16

  3. drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:15./

  4. drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53../

  5. -rw-r--r--1 ywx ywx 602 2011-08-13 23:17 data.sql

  6. -rw-r--r--1 ywx ywx 2048 2011-08-13 22:44 test.db


2. 数据库导出

  1. data.sql test.db

  2. ywx@ywx:~/yu/sqlite$sqlite3 test.db".dump"|sqlite3 test2.db

  3. ywx@ywx:~/yu/sqlite$ ll

  4. 总计 20

  5. drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:20./

  6. drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53../

  7. -rw-r--r--1 ywx ywx 602 2011-08-13 23:17 data.sql

  8. -rw-r--r--1 ywx ywx 2048 2011-08-13 23:20 test2.db

  9. -rw-r--r--1 ywx ywx 2048 2011-08-13 22:44 test.db


3. 其他格式,如:htm格式输出


    1. ywx@ywx:~/yu/sqlite$sqlite3-html test.db"select * from data_txt_table">liu.htm

    2. ywx@ywx:~/yu/sqlite$ ls

    3. data.sql liu.htm test2.db test.db


    4. http://blog.chinaunix.net/uid-22666248-id-2182334.html

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能