Julia: 如何一次性insert Array{Any,2} to SQLite DB?
2015-12-02 22:49
399 查看
借此文,感谢Julia 的SQLite库的主力 Sean1708。
准备=>
四步曲:
1、Schema
2、Sink
3、Table
4、stream
感谢对下面问题的回答,得到牛人的帮助,感觉真好!
https://github.com/JuliaDB/SQLite.jl/issues/87
准备=>
julia> using SQLite julia> data = Any[11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45] 4x5 Array{Any,2}: 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45 julia> db = SQLite.DB() SQLite.DB(in-memory)
四步曲:
1、Schema
julia> schema = Data.Schema( ["a", "b", "c", "d", "e"], [Int, Int, Int, Int, Int], ) 0x5 Data.Schema: a, Int64 b, Int64 c, Int64 d, Int64 e, Int64
2、Sink
julia> sink = SQLite.Sink(schema, db, "my_table") SQLite.Sink(0x5 Data.Schema: a, Int64 b, Int64 c, Int64 d, Int64 e, Int64 ,SQLite.DB(in-memory),"my_table",SQLite.Stmt(SQLite.DB(in-memory),Ptr{Void} @0x00007fa9b4a3d1e0))
3、Table
julia> source = Data.Table(data) Data.Table: 4x5 Data.Schema: Column1, Column2, Column3, Column4, Column5 Int64, Int64, Int64, Int64, Int64 NullableArrays.NullableArray{T,1}[NullableArrays.NullableArray{Int64,1}[11,21,31,41],NullableArrays.NullableArray{Int64,1}[12,22,32,42],NullableArrays.NullableArray{Int64,1}[13,23,33,43],NullableArrays.NullableArray{Int64,1}[14,24,34,44],NullableArrays.NullableArray{Int64,1}[15,25,35,45]]
4、stream
julia> Data.stream!(source, sink) SQLite.Sink(0x5 Data.Schema: a, Int64 b, Int64 c, Int64 d, Int64 e, Int64 ,SQLite.DB(in-memory),"my_table",SQLite.Stmt(SQLite.DB(in-memory),Ptr{Void} @0x00007fa9b4a3d1e0))
感谢对下面问题的回答,得到牛人的帮助,感觉真好!
https://github.com/JuliaDB/SQLite.jl/issues/87
相关文章推荐
- SCN号与oracle数据库恢复的关系
- Oracle 中的一些重要V$ 动态性能视图,系统视图和表
- Memcached使用
- oracle常用动态性能视图
- Redis应用场景[包括memcached和redis各自适合的应用场景]
- NoSQL选型
- MySQL性能优化的最佳经验,随时补充
- Redis集群明细文档(内容只说明了没有集群功能的redis)
- 执行数据库更新操作
- Redis 代理服务Twemproxy(redis分布式中间件)
- 数据库使用实例
- 数据库连接操作
- 使用homebrew 安装 mongodb 出现问题
- Redis: Jedis 源代码剖析1-链接建立和收发命令
- mysql笔记1
- Mysql出现插入中文???的问题
- MySQL中的find_in_set(A, B)函数,判断字符串A是否存在B中
- SQL实现将一个表的数据插入到另外一个表的代码
- oracle触发器调试
- SparkSQL样例