把 SQL Server 导入 MongoDB 的 Ruby 脚本

SQLToMongo:将SQL数据库数据导入到mongodb SQLToMongo 将SQL数据库数据导入到mongodb 立即下载

最近想要测试一下 MongoDB 2.4 新增的 Text Search 功能,需要把以前 SQL Server 数据库中的内容导出到 MongoDB 中做测试用。虽然用 Node.js 也可以操作 SQL Server 数据库,但是微软提供的msnodesql 驱动目前(版本0.2.1)只支持 Windows,想想还是改一下以前写的 Ruby 脚本会更快些。假设你已经成功地安装了 Ruby, Rails 以及 SQL Server 和 MongoDB;剩下的主要就是安装 Ruby 需要的 SQL Server 和 MongoDB 驱动了。

# 首先安装 Rails 连接 SQL Server 所需要的驱动
gem update --system
gem install activerecord-sqlserver-adapter
 
#再安装 10gen 提供的 MongoDB 驱动:
gem install mongo
 
# 这一步会自动安装 bson,再安装 bson_ext
gem install bson_ext


实际脚本的代码就比较简单了:

require "rubygems"
require "active_record"
require "mongo"
 
include Mongo
 
# 声明一个 MongoDB client
@client = MongoClient.new('localhost', 27017)
# MongoDB db
@db = @client['your_mongo_dbname']
# MongoDB collection
@coll = @db['your_collection_name']
 
@coll.remove
 
# 连接 SQL Server 数据库的设置
ActiveRecord::Base.establish_connection(
  :adapter => "sqlserver",
  :host => "your_database_ipaddress",
  :database => "your_database_name",
  :username => "your_database_username",
  :password => "your_database_password"
)  
 
class FooBar < ActiveRecord::Base
  # 指定我们实际的表的名字
  self.table_name = "your_table_name"
end
 
# 使用 find_each 遍历我们的大数据量表
FooBar.find_each(:batch_size => 1000) do |foo|
	# 插入到 MongoDB 的 collection 中
  @coll.insert({'col1' => "#{foo.bar1}", "col2" => "#{foo.bar2}", "col3" => "#{foo.bar3}"});
end


参考:

  • http://docs.mongodb.org/ecosystem/drivers/ruby/
  • Ruby Driver Tutorial: http://api.mongodb.org/ruby/current/

鉴于 Ruby 的元编程特性和 MongoDB 的灵活性,是不是可以做一个通用的转换程序?有时间可以试着写一个。

本文地址:http://www.tfan.org/from-sqlserver-to-mongodb-using-ruby-and-rails

复旦微FMQL45T900平台RGMII网口调试实战:从PHY寄存器读取异常到链路建立 本文详细记录了复旦微FMQL45T900平台RGMII网口调试的全过程,重点解决了PHY寄存器读取异常问题。通过电压配置调整、时序优化和硬件信号完整性检查,最终成功建立网络链路。文章提供了实用的调试经验和解决方案,适合嵌入式开发人员参考。 阅读详情

相关推荐

Frida提取Cocos游戏XXTEA密钥的实战方法论

XXTEA是一种轻量级分组加密算法,广泛用于移动端游戏通信保护;其128位密钥的安全性直接决定网络协议逆向成败。在Cocos引擎生态中,密钥常以静态常量、JNI动态传递或Native运行时派生三种形态存在,导致传统静态分析失效。Frida凭借跨Java/Native注入能力与内存实时观测优势,成为捕获密钥‘出生瞬间’的关键工具——尤其适用于hook xxtea_encrypt函数入口、监控JNI参数传递、设置内存断点追踪派生过程等场景。本文聚焦Cocos2d-x与Cocos Creator项目,覆盖从密钥识

weixin_33509600的博客 416

将.xlsx和.sql文件导入mongodb

上一篇文章是将mongodb的数据导入mysql,这篇文章是它的逆过程。 一、将.xlsx文件导入mongodb中 同样,这里用到了mongoimport工具,由于它只能到如json和csv格式,先要把.xlsx另存为.csv的文件,(注意:如果有中文,还必须将.csv另存为UTF-8编码格式的.csv)。然后打开mongodb,输入命令行如下: 显示导入了527条数据,查看mong

iamxuhuimin的博客 4831

MIT-BEVFusion系列六--bevfusion网络部分流程理解

简述bevfusion网络部分

duanmushuangquan的博客 4890

转移sqlServer数据库数据到mongodb的简单实现

转移sqlServer数据库数据到mongodb的简单实现- 准备: 1. 数据库SqlServer2008,mongodb;eclipse-3.6.5 2. 首先安装sqlServer客户端【SQLFULL_CHS.iso】 和 Mongdb客户端【robomongo-0.9.0-windows-x86_64-0786489】 3. 连接两个数据库要用的jar包如图:

zlsdmx的博客 6318

cutlass2.x源码解读之PitchLinearStripminedThreadMap

TensorCoord:使用layout::PitchLinearCoord作为张量坐标。Shape:使用模板参数Shape_作为tile的形状,kThreads:线程总数,定义为模板参数Threads。kElementsPerAccess:每次访问的元素数,定义为模板参数ElementsPerAccess。ThreadAccessShape:线程访问的形状,使用layout::PitchLinearShape定义。内部实现细节:ShapeVec。

jiangjkd的专栏 786

微服务架构的实施与挑战:前提判断、三种落地模式、收益兑现与风险应对

微服务是用运维复杂度换取演进自由度的一笔交易,是否划算取决于系统复杂度是否越过生产率曲线的交叉点。本文先给出实施前提:微服务溢价的六项成本、四项前置能力、康威定律与领域边界,并附就绪度自检表;再拆解三种落地模式:以绞杀者为代表的渐进剥离与数据五级迁移、以模块化单体起步的绿地建设、新旧并行的混合式集成;随后逐项审视六大技术优势与组织收益的兑现条件,系统梳理分布式谬误、分布式单体、Saga与幂等、弹性容错、可观测性、契约测试等挑战与对策,最后给出四阶段落地路线、DORA四项度量与常见反模式清单。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

SQL手工注入MongoDB数据库

MongoDB语法跟其它数据库有所区别 具体参考:https://www.runoob.com/mongodb/mongodb-query.html 环境 墨者靶场 SQL手工注入漏洞测试(MongoDB数据库) 思路 题目代码给出了列名 如果语句这样写/new_list.php?id=1 order by 2 代码接收db.notice.findOne({‘id’:‘1 order by 2’}); return data; 并没有闭合,注入语句无法生效 想办法闭合语句,查看所有集合 注入语句 都是

小千安全 2228

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

为减轻主核的负载率或者平衡各个核的资源分配,通常需要把一些MCU内部资源分配到从核上,在EB tresos工具中,通过ResourceM模块实现多核资源分配。

m0_38045338的博客 1387

mongodb 导入数据库文件

吐槽一下: 这个导入现有数据文件弱爆了... 直接将要导入的数据文件放到mongodb下的db目录下就完事了...O(∩_∩)O哈哈~ 例如:将shop_suning (shopdb_suning.ns,shopdb_suning.0 这两个文件) 复制到D:\mongodb\data\db目录下,重新开启mongodb,刷新就OK 了. 转载于:https://www.cnblog...

weixin_33854644的博客 1002

【OpenClaw企业级智能体实战】第09篇:OpenClaw金融投研实战:17个场景+完整代码,打造专属数字研究员

金融投研面临信息过载、流程重复、数据安全合规三大核心痛点,OpenClaw作为本地部署的新一代AI智能体,凭借“长期记忆+主动执行+数据不出域”的优势,成为券商分析师集体追捧的效率工具。本文基于8家头部券商公开研报,拆解OpenClaw在金融投研的17个核心应用场景(信息处理、研报撰写、量化策略、流程自动化),详解原理、技术选型、实操流程,并提供可直接运行的完整代码与执行结果。文章兼顾新手入门与进阶提升,强调安全隔离部署与幻觉防范,读者可按步骤搭建专属投研智能体,将信息处理、数据整理等重复工作效率提升80%

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 673

AI Agent Harness实时监控大屏搭建实战

本文将以目前主流的AI Agent管控框架Harness为基础,结合React、ECharts、WebSocket技术,手把手带你搭建一套完整的实时监控大屏,覆盖全局概览、状态分布、工具调用统计、异常告警、实时日志等核心功能,不需要复杂的底层开发,复制代码就能快速跑通。本文我们从需求出发,先梳理了AI Agent的核心监控指标,然后搭建了监控大屏的静态布局,逐个实现了各个图表,对接了Harness的实时数据源,最后加了交互和告警功能,完整走了一遍监控大屏从设计到落地的全流程。

大数据洞察的博客 171

mongodb 导出到sqlserver_使用mongify将sqlserver数据导入到mongodb

最近需要将sqlserver数据导入到mongodb中,在github上搜了一圈,发现两个项目有点适合先试了下sql2mongodb(有个好名字果然有好处啊), 可是,but,但是,这东西好像并不没有名字取得好,试了下感觉不靠谱,弃坑,逃~~~说点题外话,sql2server以来nodejs, mongify依赖ruby, 这两个库都是我最讨厌的,暂时没有理由。好了,现在咱专注mongify吧先看...

weixin_39754616的博客 243

Qt入门教程【环境搭建篇】Qt6+Mingw+QMake+QtCreator

Qt Windows平台安装

小鱼酱的博客 2万+

常见的SQL和NOSQL对比

常见的SQL和NOSQL对比 具体的各种数据库的对比情况可以参考:https://db-engines.com/en/system/ 一、常见的SQL 1. MySQL 2. Oracle 3. Microsoft SQL Server 三款数据库对比,可以参考https://db-engines.com/en/system/Microsoft+SQL+Server%3BMySQL%3BOracle Editorial information provided by DB-Engines

子冉冰清的博客 2076

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SQL与NoSQL的区别 以MySQL与MongoDB为例

异同对比 1.语言和结构层面 SQL数据库,是基于表的,并且用结构化语言也就是SQL来定义和操纵数据。一方面,这是非常强大的:SQL是最通用和最广泛使用的选项之一,使其成为一个安全的选择,尤其适用于复杂的查询。另一方面,它可能是限制性的。SQL要求您在使用之前使用预定义模式来确定数据的结构。此外,您的所有数据必须遵循相同的结构。这可能需要大量的前期准备,这可能意味着结构的变化对您的整个系统来说既...

楼上小宇_home 9054

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MongoDB介绍和安装

MongoDB介绍 MongoDB简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于 JSON 对象。字段值可以包含其他文...

Bbb的博客 384

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

MongoDB简单介绍以及基本命令

一、MongoDB简介 1、MongoDB是什么   MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的...

ddonking的专栏 1153

Spring data MongoDB

原文地址  http://miller-cn.iteye.com/blog/1258859 在这个教程中,我们将对一个存在的Spring MVC 3 - MongoDB进行重构,使用最新公布 Spring Data Document 1.0.0.M1 for MongoDB。 我们的目的是了解Spring data MongoDB ,简化开发。去领会 spring data。适当的去

习惯有你&的博客 1653

nodejs开发微博网站(二)--mongoDB数据库

在这一节我们要实现用户会话的功能,包括用户注册和登录状态的维护。为了实现这些功能,我们需要引入会话机制来记录用户状态,还要访问数据库来保存和读取用户信息。选用mongoDB数据库 mongoDB数据库介绍 mongoDB数据库是一个noSQL数据库,意为“not only SQL”MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB 旨在为WEB应用提

YDVampire的博客 1100

一、学习MongoDB、认识、安装、简单操作

1.什么是MongoDB?基于分布式文件存储的开源数据库系统为WEB应用提供可扩展高性能的数据存储解决方案将数据存储为一个文档,数据结构是(key-value)组成,类似于JSON对象。字段可以包含其它文档,数组以及文档数组。2. 主要特点你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。你...

zhanjunpeng01的博客 403

常用数据库管理系统的特点(三)

数据库类型特点关键词适用场景Oracle关系型高性能、企业级、跨平台、事务强金融、电信、政府、大型企业MySQL关系型开源、轻量、Web友好、支持大并发Web应用、中小型网站、LAMP架构SQL Server关系型微软生态、易用、BI强、安全高企业内网、Windows平台应用MongoDB非关系型灵活结构、分布式、JSON存储、高扩展性大数据、实时应用、内容管理。

Monitkey的博客 708

数据库基础介绍(1)几种常见的数据库

1 数据库基础 基本概念:数据 数据库 数据库管理系统 图形用户界面(可视化工具) 人工管理阶段 文件管理阶段 数据库管理阶段 API地址: www.yq1012.com/mysql/ PS: 比较Oracle mySqlSQLServerDB2 OracleSQLServer DB2收费的mySql 免费的开源 OraclemySqloracle公司SQLServer 微软DB2 IBM Or...

syq8023的博客 3833

Mac下MongoDB的安装与配置

Mac下MongoDB的安装与配置 转载于:https://www.cnblogs.com/knuzy/p/9115386.html

weixin_30662109的博客 62

关系型数据库与非关系型数据库

数据库种类关系型数据库产品介绍1、oracle数据库2、mysql数据库3、SQL server 数据库4、mariadb 数据库非关系型(NOT ONLY SQL)非关系型数据库种类1、键值存储数据库key-value2、列存储数据库column-oriented3、面向文档数据库document-oriented4、图形数据库graph 关系型 关系型数据库模式是把复杂的数据结构归结为简单的二元关系(及即二维表格形式) 数据库产品介绍 1、oracle数据库 主要应用范围:传统大企业,大公司,政府,金融

weixin_43896556的博客 964

GitHub Actions Windows Server 2022运行环境:2025年终极配置与优化指南 [特殊字符]

GitHub Actions Windows Server 2022运行环境是微软官方提供的托管式CI/CD解决方案,专为Windows平台应用开发与部署设计。这个强大的运行环境预装了丰富的开发工具链,让开发者能够快速构建、测试和部署Windows应用程序。无论您是.NET开发者、前端工程师还是DevOps专家,这个运行环境都能为您提供稳定高效的构建平台。 ## 📊 Windows Serve

gitblog_00845的博客 964

数据库

数据库 概述 按照数据结构来组织、存储和管理数据的仓库 分类 关系型数据库(sql):Access mySql SqlServer oracle db2等。 复杂查询 可以用SQL语句方便的在多个表之间做非常复杂的数据查询。 事务支持 使得对于安全性能很高的数据访问要求得以实现。 非关系型数据库( NoSql ): MongoDB,Redis,HBase,CouchDB等。 性...

litterdragonman的博客 101
上一篇: 快速升级已安装的 Android SDK 和 ADT 插件
itkbase
博客等级 码龄19年 113粉丝 4646原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值