sqlite的数据导入 导出

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

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


1. 数据源

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

  1. id,name,age,address,hobby
  2. 1,tom,24,beijing,football
  3. 2,liu,27,heibei,fotball
  4. 3,jim,26,shandong,football
  5. 4,han,28,beijing,football
  6. 5,meng,25,beijing,tennis

 
2. 目标数据表
    这里创建一张目标数据表,通过分析文本格式,这里需要3个字段,分别是id,name,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" for instructions
  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,name,age,address,hobby
  5. 1,tom,24,beijing,football
  6. 2,liu,27,heibei,fotball
  7. 3,jim,26,shandong,football
  8. 4,han,28,beijing,football
  9. 5,meng,25,beijing,tennis
  10. sqlite>


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


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

  1. sqlite> .schema data_txt_table
  2. CREATE TABLE data_txt_table(id char(10),name char(10),age char(10),address varchar(15),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" for instructions
  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java继承孙子类_Java:类与继承

Java:类与继承对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态 这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先&am…

linux 下安装JDK

安装配置JDK 下载JDK 因为Elasticsearch需要Java环境,所以需先下载JDK,并配置Java的环境\ 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\ 这里我选择jdk-8u151-linux-x64.tar.gz解压安装…

在ubuntu上搭建LNMP服务器

LNMP Linux Nginx MySQL PHP 安装Nginx 执行以下命令即可: apt-get install nginx不过源里的版本是0.7.65,不喜欢老旧的玩意,可以尝试编译安装。 编译安装nginx. 1.准备编译环境 apt-get install libpcre3-dev build-essential libssl-dev在这里 htt…

java 后端开发好吗_后端开发学Java好还是学c++好呢?

C与 java 的抉择为了找工作:选Java。为挑战自我:选C。很多人都说会C就能会快掌握Jave。C是不好学,但是我告诉你java也不好学。C难是难在语言本身,java难是难在各种框架和库。你单纯学个java语法,你什么玩意也做不了&am…

mysql表名忽略大小写

MYSQL表名忽略大小写 问题描述:一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: 1234567891011121314151617181920212223mysql> show …

邮件联系人,如何恕不部分字母就能显示邮件联系人

新装的电脑,邮件pst文件已经导入成功,但是我想给别人发邮件时,输入个别英文字母就能显示对方的邮件地址,这样该如何操作呢?PST文件已经导入成功,邮件联系人中也能看到公司所有人的联系方式。转载于:https:/…

java的class和object_Java中Class/Object/T的关系

Object 对象Object是Java中的基类,大部分的对象都是继承于这个类。public class Object {....public native int hashCode();public boolean equals(Object obj) {...}public String toString() {...}}以上是其定义,可以看出来其定义了一些基础方法&…

P2787 语文1(chin1)- 理理思维

题目背景 蒟蒻HansBug在语文考场上,挠了无数次的头,可脑子里还是一片空白。 题目描述 考试开始了,可是蒟蒻HansBug脑中还是一片空白。哦不!准确的说是乱七八糟的。现在首要任务就是帮蒟蒻HansBug理理思维。假设HansBug的思维是一长…

使用jstree创建无限分级的树(ajax动态创建子节点)

首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID形式 层级关系主要靠这两个字段维护 其次需要有一个类型 public class MenuType{public Guid Id { get; set; }public Guid PId { get; set; }publi…

oracle长连接超时设置

方法一、在sqlnet.ora中设置参数 如需要设置客户端空闲10分钟即被中断,则在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME10注:sqlnet.ora文件的路径在$ORACLE_HOME/network/admin下。 方法二、Oracle Profile中设置 生产库上执行如下操作: SQL>…

linux syslog 笔记

原文地址 Linux日记系统由系统日志监控程序syslogd和内核日志监控程序klogd组成。从它们的命名可以看到,这两个监控程序都是守护程序(daemon),且都注册成了系统服务。换句话说,我们可以在目录/etc/init.d/下找到它们对…

Jenkins构建Spring+Nodejs项目

构建node.js环境1.安装 node.js 2.项目目录下执行 npm i -production 安装依赖的包install时会在项目目录下生成node_modules目录,使用-production只会下载依赖相关的包,否则会下所有的包(太大了)。因为编译主机不能联网&#xff…

解析Hibernate的结构

在学习Hibernate的时候,首先要了解Hibernate的大体结构,这样才能更好的理解其中的知识,下面就开始分析Hibernate的体系结构 1.HIbernate简要的体系结构如下图所示: 通过上图能够发现HIbernate需要一个hibernate.properties文件&am…

Java反梯形图案_梯形法求定积分(一)设计梯形法求积分的类模板,梯形法

/*设计梯形法求积分的类模板,梯形法求积分的函数被定义为成员函数,可以求任意函数的定积分,用积分类的模板参数T引入被积函数*/#include#include#includeusing namespace std;class Mysin{public:double fun(double x){return (sin(x));}};cl…

排序算法杂谈(三) —— 归并排序的非递归实现

1. 递归 在众多排序算法中,归并排序(Merge Sort)和快速排序(Quick Sort)都是时间复杂度为 O(nlog2n) 的高效排序。 这两种排序有一种共性,就是运用到了递归的思想。 在程序设计中,递归是一个很有…

apache+php32位平台安装

一、 系统配置 1、 禁用IPV6 修改/etc/modprobe.conf文件,加入以下两行: alias net-pf-10 off alias ipv6 off 2、 启用以下服务 其它服务关闭 acpid 提供高级电源管理 cpuspeed 可以提高系统运行效率 apmd 高级电源管理 crond 执行例行性程序 也就是window…

mysql 函数修改无效_MySQL:组函数的使用无效

MySQL:组函数的使用无效我正在使用MySQL。 这是我的模式:供应商( sid:整数 ,sname:string,地址string)部件( pid:整数 ,pname:string,颜色:string…

webpack简单笔记

本文简单记录学习webpack3.0的笔记,已备日后查阅。节省查阅文档时间 安装 可以使用npm安装 //全局安装 npm install -g webpack //安装到项目目录 npm install --save-dev webpack npm init会创建package.json文件。配置该文件可以简化我们之后的一些操作&#xff0…

ASP.NET性能优化小结(ASP.NETC#)(转)

原文转自:http://www.jb51.net/article/25937.htm 一、返回多个数据集   检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与…

【Canal源码分析】Sink及Store工作过程

一、序列图 二、源码分析 2.1 Sink Sink阶段所做的事情,就是根据一定的规则,对binlog数据进行一定的过滤。我们之前跟踪过parser过程的代码,发现在parser完成后,会把数据放到一个环形队列TransactionBuffer中,也就是这…