亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Sqlite快速上手使用指南

標簽:
Java

如果您没耐心看上面这些文章,下面这些介绍也能让你快速上手:

1.下载 

把这个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

先下载.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左右)。

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消