zoukankan      html  css  js  c++  java
  • 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左右)。

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    多数据源配置
    Oracle创建JOB
    2新建Data Adapter
    注解的CRUD;重点:多对一和一对多处理
    Mybatis分页+使用注解开发!
    继续mybatis配置resultMap;讲解日志部分
    Today has a day off.
    Mybatis其他配置!
    Mybatis优化配置!
    Mybatis的CRUD
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1669210.html
Copyright © 2011-2022 走看看