数据库迁移至SQLite及SQLite常用命令
Oracle迁移至SQLite
文章参考:http://blog.csdn.net/johnnycode/article/details/7413111#
1. 从PL/SQL 中查询你要的数据,然后导出成CSV格式文件;
也可以使用脚本进行导出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 文件,打开方式为记事本,将会看到如下数据
需要将第一行列去除,然后将分号 ” 同时去掉,最终结果为
下面这步最重要,将文件另存为,最下方编码选择 UTF-8 ,然后另存到E盘根目录即可。
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数据,包括结构和数据,可以直接搞定!
工具下载地址:https://files.cnblogs.com/huwei_good/SQL_Server_To_SQLite_DB_Converter_bin.zip
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怎么区分大小写查询呢,以下是三种解决方案:
方案一:使用大小写转换函数LOWER、UPPER
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 );

![clip_image002[1] clip_image002[1]](http://images0.cnblogs.com/blog/257344/201303/01131507-f61077452e4a4eccbf6664977ab4b99b.jpg)


![clip_image002[3] clip_image002[3]](http://images0.cnblogs.com/blog/257344/201303/01131509-36a0acbaf9b84197be19980bd0cc9db9.jpg)
浙公网安备 33010602011771号