Sqlite快速上手使用指南
这是网上收集的几篇教程
1. Sqlite简明教程 http://www.sqlite.com.cn/MySqlite/4/32.Html 2. Sqlite入门教程 http://www.sqlite.com.cn/MySqlite/4/33.Html 3. Sqlite官方 http://www.sqlite.org/ 4. 推荐pysqlite使用指南 http://gashero.yeax.com/?p=13 5. PySqlite User Guide http://www.initd.org/pub/software/pysqlite/doc/usage-guide.html#brief-tutorial
如果您没耐心看上面这些文章,下面这些介绍也能让你快速上手:
1.下载 http://www.sqlite.org/sqlite-3_6_22.zip
把这个zip解压到 c:windows目录(其实也就sqlite3.exe一个文件)
2.创建数据库
命令行下输入: sqlite3.exe "c:test.db"
没错,就是这样简单!(跟db4o有点相似)如果硬盘上没有test.db,则该命令将创建数据库,如果已经存在,则将打开数据库.
3.找一个图形化的管理工具:Visual SQLite ,官方网址:http://www.visualsqlite.com/ (不过好象打不开,众所周知的原因...),百度或迅雷一下"Visual SQLite"就能找到下载,安装好以后类似这样:
4. 在.net中使用sqlite
先到http://sourceforge.net/projects/sqlite-dotnet2/files/ 下载.Net的驱动
然后就可以用了,下面是演示代码:
using System;
using System.Data.Common;
using System.Data.SQLite;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
namespace SqliteDemo
{
class Program
{
static void Main(string[] args)
{
string _dbFile = Application.StartupPath;
_dbFile = _dbFile + "\test.db";
if (File.Exists(_dbFile)) { File.Delete(_dbFile); }
SQLiteConnection.CreateFile(_dbFile);
DbProviderFactory factory = SQLiteFactory.Instance;
using (DbConnection conn = factory.CreateConnection())
{
// 连接数据库
conn.ConnectionString = "Data Source=" + _dbFile;
conn.Open();
// 创建数据表
string sql = "create table [person] ([id] INTEGER PRIMARY KEY, [name] varchar(50) COLLATE NOCASE)";
DbCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
// 添加参数
cmd.Parameters.Add(cmd.CreateParameter());
// 开始计时
Stopwatch watch = new Stopwatch();
watch.Start();
DbTransaction trans = conn.BeginTransaction(); // <-------------------
try
{
// 连续插入50w条记录
for (int i = 0; i < 500000; i++)
{
cmd.CommandText = "insert into [person] ([name]) values (?)";
cmd.Parameters[0].Value = i.ToString();
cmd.ExecuteNonQuery();
}
trans.Commit(); // <-------------------
}
catch
{
trans.Rollback(); // <-------------------
throw; // <-------------------
}
// 停止计时
watch.Stop();
Console.WriteLine(watch.Elapsed);
Console.Read();
}
}
}
}
在我的ThinkPad T61P上跑的结果,用事务插入50w条记录,大概只用了3秒时间(test.db增大到7M左右)。
- 用 LSTM 做时间序列预测的一个小例子
- Java并发编程的艺术(十一)——线程池(2)
- Java并发编程的艺术(十)——线程池(1)
- Tensorflow on Spark爬坑指南
- Boost asio 官方教程
- 0基础教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)
- 柴毛毛大话设计模式——开发常用的设计模式梳理
- Redis源码分析(四)——Redis数据结构-整数集合
- Redis源码分析(三)——Redis数据结构-字典
- Redis源码分析(二)——Redis数据结构-链表
- C++实现神经网络之一 | Net类的设计和神经网络的初始化
- Redis源码分析(一)——Redis数据结构-字符串SDS
- 使用RNN预测股票价格系列二
- 微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为了给女朋友独特的七夕惊喜,我学会了人像美肤算法!
- Docker入门笔记总结
- AWVS13破解版安装
- Sqlmap注入使用技巧总结
- Lyft 宣布开源基础设施工具管理平台 Clutch!
- 从库mysqldump会导致复制中断
- DBA的福音,SQL审核利器-goinception
- 前端组件设计原则
- 分析网页 JavaScript Bundles 的几种方法
- 使用 DevTools 新增的 Issues 选项卡发现网页问题
- OpenCV绘制标记函数drawMarker()
- 【crossbeam系列】3 crossbeam-deque:work-stealing算法
- 【Rust日报】2020-08-21 RustConf研讨会在线举办
- 了解不同架构思维,赏析架构之美
- 【Rust日报】2020-08-22 google/autocxx - 高度自动化的rust调用c++,而且安全,时尚