你好,游客 登录 注册 搜索
背景:
阅读新闻

数据库迁移至SQLite及SQLite常用命令 -

[日期:2013-04-20] 来源:  作者: [字体: ]

Oracle迁移至SQLite

文章参考:http://blog.csdn.net/johnnycode/article/details/7413111#

1. 从PL/SQL 中查询你要的数据,然后导出成CSV格式文件;

clip_image002

也可以使用脚本进行导出CSV文件,具体如下:

--set colsep ' || ';
 set echo off;
 set feedback off; --禁止显示最后一行的计数反馈信息
 set heading off;  --禁止输出列标题
 set pagesize 0;   --设置显示多少行打印一次列名
 set linesize 1000;
 set numwidth 12;
 set termout off;
 set trimout on;   --清空多余的空格
 set trimspool on;
 set newpage none; --没有翻页,输出的文件没有空行
 spool e:\name.csv;
--select col1||','||col2 from table_name;
select t.type_code||','||t.type_name from t_b_op_type t;
spool off;

2. 用记事本打开CSV文件。首先需要将 CSV  文件处理下字符集的问题,众所周知

sqlite 默认字符集 UTF-8 ,涉及中文的地方如果不设置那么导入sqlite的数据将会乱码

右键选择 CSV 文件,打开方式为记事本,将会看到如下数据

clip_image002[1]

需要将第一行列去除,然后将分号 ” 同时去掉,最终结果为

clip_image004

下面这步最重要,将文件另存为,最下方编码选择 UTF-8 ,然后另存到E盘根目录即可。

clip_image006

2. 创建数据库

运行cmd命令,在CMD下进入到SQLite文件夹,输入sqlite3.exe mydata.db(数据库名称),

如不指定路径,那么 sqlite3 将会默认将数据库文件创建运行 sqlite3 的目录中。(此过程不会产生db文件)

sqlite3.exe mydata.db

3. 创建表

建表语句可以从 oracle 中复制即可。建表完毕,可以使用 .ta 命令查看新建表是否成功。(此过程完后产生db文件)

create table T_B_OP_TYPE…
 
.ta

4. csv 默认数据分割符为逗号 “,”  而 sqlite 默认数据分割符为 “|” ,先用 .show 命令确认下

.show

更改分隔符为”,” .separator “,”

再次确定 .show

.show

5. 导入数据(.import  //导入命令)

.import 数据库路径\mydata.db

6. 验证

select * from T_B_OP_TYPE; //分号不能少

OK,大功告成!

如果PC没有安装 sqlite ,这里将 sqlite 操作交给 Android 手机来处理

参考文章:http://blog.csdn.net/johnnycode/article/details/7413111#

SQL Server迁移至SQLite

貌似这个SQL_Server_To_SQLite_DB_Converter软件很强大,此工具可转换Sql Server数据库为Sqlite数据,包括结构和数据,可以直接搞定!

工具下载地址:http://files.cnblogs.com/huwei_good/SQL_Server_To_SQLite_DB_Converter_bin.zip

clip_image002[3]

SQL Server Address: 数据库地址

Select DB:选择数据库

Sqlite Database File Path:Sqlite数据库文件保存路径;

Password:设置数据库密码

填写好了,直接点击开始导出即可!

该软件是从老外的网站下载的,是用C#写的一个程序,是开源的,大家可以去此处下载:http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx可以下载整个编译的程序,也可以下载编译完成的debug程序,功能十分强大.

SQLite 常用命令

入门系列:http://www.cnblogs.com/myqiao/archive/2011/07/10/2102465.html

sqlite常用命令和实例:http://huangjianming31.blog.163.com/blog/static/34740871201062121316395

sqlite常用命令和语法:http://blog.csdn.net/linchunhua/article/details/7184439

sqlite常用设置命令:http://www.cnblogs.com/caizhimin816/articles/1885349.html

在SQLite中,对大小写是敏感的。那么SQLite怎么区分大小写查询呢,以下是三种解决方案:
方案一:使用大小写转换函数LOWERUPPER
1.select * from test where UPPER(name) = 'ABC';
2.select * from test where LOWER(name) = LOWER('ABC');
方案二:在进行比较时强制声明不区分大小写
select * from test where name = 'ABC' COLLATE NOCASE;
方案三:创建表时声明该字段不区分大小写
create table test (_id Integer,name Text COLLATE NOCASE );






收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻