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左右)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

[Go 语言社区] Golang架构底层---日志函数

服务器后台架构,日志是必不可少的一个功能模块,日志可以分为很多中:统计日志,访问日志,错误日志等 今天大家发是运行中的日志函数 // 日志函数,传入数据为字...

34160
来自专栏知识分享

C#上位机串口控制12864显示

实现的效果 ? ? ? ? ? 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 ? 再看一下实物显示效果 ? ? ? ?...

98150
来自专栏跟着阿笨一起玩NET

C# 使用SqlBulkCopy类批量复制大数据

特别注意  sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].Col...

1.6K10
来自专栏技术博客

一步一步学Linq to sql(三):增删查改

  今天主要是来学习一下,通过Linq如何进行数据库的操作,增加、删除、修改。准备工作,先是建立了一个Asp.Net Mvc 3.0的Web项目,

12220
来自专栏Java帮帮-微信公众号-技术文章全总结

Hibernate_day02总结

Hibernate_day02总结 今日内容 l Hibernate持久化对象的状态 l Hibernate的一级缓存 l Hibernate操作持久化对象的方...

370110
来自专栏程序员的SOD蜜

PostgreSQL的PDF.NET驱动程序构建过程

目前有两种主要的PostgreSQL的.NET驱动程序,分别是Npgsql和dotConnector for PostgreSQL(以下简称dotConnect...

25070
来自专栏张善友的专栏

使用LogParser分析日志

系统运维,少不了分析系统日志,微软有个工具Log Parser可以帮助你分析日志。它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分...

50670
来自专栏程序员的SOD蜜

常见.NET功能代码汇总

1,在Web上修改指定文件位置的Web.config 这里需要使用 WebConfigurationManager 类,但必须使用WebConfiguratio...

458100
来自专栏.NET技术

Visual Studio Package 插件开发之自动生成实体工具

  这一篇是VS插件基于Visual Studio SDK扩展开发的,可能有些朋友看到【生成实体】心里可能会暗想,T4模板都可以做了、动软不是已经做了么、不就是...

19930
来自专栏木宛城主

SharePoint 创建 Lookup 类型的Site Column解决跨站问题

在某些情况下,我们需要去引用其他List中的数据,比如在网站集(Site Collection)上有个List叫Country,在其子网站(WebSite)有...

25390

扫码关注云+社区

领取腾讯云代金券