微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLite学习1_Windows下安装配置SQLite和使用的教程(1)

安装使用sqlite

sqlite的官方下载地址为http://www.sqlite.org/download.html,上面提供了多种版本的sqlite,我选择下载名称sqlite-shell-win32-x86-3080500.zip的版本。下载后就直接解压到磁盘上,可以看到解压后只有sqlite3.exe这个文件

接下来需要将sqlite加入到path环境变量中(加入环境变量是为了更加方便地使用sqlite),右键我的电脑-属性-高级系统设置-环境变量,在系统变量中找到Path,将解压的文件夹目录加入到后面(注意是文件夹目录,例如我本机的目录 E:Toolssqlite)。打开cmd,输入sqlite3,如果弹出以下消息,就表示成功了。

sqlite常用操作

1. 新建一个数据库文件

>命令行进入到要创建db文件文件夹位置

>使用命令创建数据库文件: sqlite3 所要创建的db文件名称

>使用命令查看已附加的数据库文件: .databases

2. 打开已建立的数据库文件

>命令行进入到要打开的db文件文件夹位置

>使用命令行打开已建立的db文件sqlite3 文件名称(注意:假如文件名称不存在,则会新建一个新的db文件

3. 查看帮助命令

>命令行直接输入sqlite3,进去到sqlite3命令行界面

>输入.help 查看常用命令

使用sqlite管理工具

shell脚本虽然提供了很强大的功能,但是使用起来还是不够方便,幸运的是,sqlite有很多开源而且优秀的DBMS!

这里我将使用一款叫做sqliteSPY的软件,官网地址为http://www.yunqa.de/delphi/doku.PHP/products/sqlitespy/index,这个软件是绿色免安装版,解压直接运行就可以了。

可以看到,sqliteSpy的界面布局和sqlServer很相近,操作起来很方便,这里就不在继续详细介绍了。(要知道的一点就是单纯使用这个软件也可以创建和使用sqlite数据库,不需要与上面提到的shell工具关联)

C#使用System.Data.sqlite.dll访问数据库

sqlite提供了用于C#调用的dll,下载地址为http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,注意根据.NET FRAMEWORK版本下载对应的组件。在项目中只要引入System.Data.sqlite.dll这个组件,就可以实现数据库操作了。由于sqlite.dll实现了ADO.NET的接口,所以熟悉ADO.NET的人上手sqlite.dll也是非常快的。DEMO数据库表的结构为:

CREATE TABLE hero
(
    hero_id   INT          NOT NULL PRIMARY KEY,hero_name NVARCHAR(10) NOT NULL
);

比较需要注意到一点是数据库连接字符串,sqlite使用的连接字符串比较简单,只要写上数据库文件的引用路径就可以了。DEMO是一个控制台应用程序,增删查改的实例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Common;
using System.Data.sqlite;

namespace ConsoleApp
{
    class Program
    {
        static readonly string DB_PATH = "Data Source=E:/database/sqlite/arena.db";

        static void Select()
        {
            using (sqliteConnection con = new sqliteConnection(DB_PATH))
            {
                con.open();
                string sqlStr = @"SELECT *
                                    FROM hero";
                using(sqliteCommand cmd = new sqliteCommand(sqlStr,con))
                {
                    using (sqliteDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine(dr["hero_id"].ToString() + dr["hero_name"]);
                        }
                    }
                }
            }
        }

        static void Insert()
        {
            using (sqliteConnection con = new sqliteConnection(DB_PATH))
            {
                con.open();
                string sqlStr = @"INSERT INTO hero
                                  VALUES
                                  (
                                      1,'萨满'
                                  )";
                using(sqliteCommand cmd = new sqliteCommand(sqlStr,con))
                {
                    cmd.ExecuteNonQuery();
                }           
            }
        }

        static void Update()
        {
            using (sqliteConnection con = new sqliteConnection(DB_PATH))
            {
                con.open();
                string sqlStr = @"UPDATE hero
                                     SET hero_name = '盗贼'
                                   WHERE hero_id = 1";
                using (sqliteCommand cmd = new sqliteCommand(sqlStr,con))
                {
                    cmd.ExecuteNonQuery();
                }      
            }
        }

        static void Delete()
        {
            using (sqliteConnection con = new sqliteConnection(DB_PATH))
            {
                con.open();
                string sqlStr = @"DELETE FROM hero";
                using (sqliteCommand cmd = new sqliteCommand(sqlStr,con))
                {
                    cmd.ExecuteNonQuery();
                }
            }
        }

        static void Main(string[] args)
        {
            Insert();
            Select();
            Update();
            Select();
            Delete();
        }
    }
}
 
原文来自:http://blog.csdn.net/catemo/article/details/53387144

原文地址:https://www.jb51.cc/sqlite/198130.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐