SQLite 入门教程 C#访问SQLite数据库实例

操作方法

  • 01

    SQLite库可以解析大部分标准SQL语言。但它也省去了一些特性并且加入了一些自己的新特性。 SQLite是一款非常轻量级的关系数据库系统,支持多数SQL92标准。SQLite在使用前不需要安装设置,不需要进程来启动、停止或配置,而其他大多数SQL数据库引擎是作为一个单独的服务器进程,被程序使用某种内部进程通信(典型的是TCP/IP),完成发送请求到服务器和接收查询结果的工作,SQLite不采用这种工作方式。使用SQLite时,访问数据库的程序直接从磁盘上的数据库文件读写,没有中间的服务器进程。使用SQLite一般只需要带上一个dll,就可以使用它的全部功能。 SQLite的主要应用场景有作为手机应用的数据库以及小型桌面软件的数据库。 一些有用的 SQLite 命令 显示表结构: sqlite> .schema [table] 获取所有表和视图: sqlite > .tables 获取指定表的索引列表: sqlite > .indices [table ] 导出数据库到 SQL 文件: sqlite > .output [filename ] sqlite > .dump sqlite > .output stdout 从 SQL 文件导入数据库: sqlite > .read [filename ] 格式化输出数据到 CSV 格式: sqlite >.output [filename.csv ] sqlite >.separator , sqlite > select * from test; sqlite >.output stdout 从 CSV 文件导入数据到表中: sqlite >create table newtable ( id integer primary key, value text ); sqlite >.import [filename.csv ] newtable 备份数据库: /* usage: sqlite3 [database] .dump > [filename] */ sqlite3 mytable.db .dump > backup.sql 恢复数据库: /* usage: sqlite3 [database ] < [filename ] */ sqlite3 mytable.db < backup.sql 安装使用SQLite sqlite的官方下载地址上面提供了多种版本的sqlite,我选择下载名称为sqlite-shell-win32-x86-3080500.zip 的版本。下载后就直接解压到磁盘上,可以看到解压后只有sqlite3.exe这个文件。 接下来需要将sqlite加入到path环境变量中(加入环境变量是为了更加方便地使用sqlite),右键我的电脑-属性-高级系统设置-环境变量,在系统变量中找到Path,将解压的文件夹目录加入到后面(注意是文件夹目录,例如我本机的目录 E:\Tools\sqlite)。打开cmd,输入sqlite3,如果弹出以下消息,就表示成功了。 sqlite常用操作 1. 新建一个数据库文件 >命令行进入到要创建db文件的文件夹位置 >使用命令创建数据库文件: sqlite3 所要创建的db文件名称 >使用命令查看已附加的数据库文件: .databases 2. 打开已建立的数据库文件 >命令行进入到要打开的db文件的文件夹位置 >使用命令行打开已建立的db文件: sqlite3 文件名称(注意:假如文件名称不存在,则会新建一个新的db文件) 3. 查看帮助命令 >命令行直接输入sqlite3,进去到sqlite3命令行界面 >输入.help 查看常用命令 使用sqlite管理工具 shell脚本虽然提供了很强大的功能,但是使用起来还是不够方便,幸运的是,sqlite有很多开源而且优秀的DBMS! 这里我将使用一款叫做SQLiteSPY的软件,这个软件是绿色免安装版,解压直接运行就可以了。 可以看到,SQLiteSpy的界面布局和SQLServer很相近,操作起来很方便,这里就不在继续详细介绍了。(要知道的一点就是单纯使用这个软件也可以创建和使用sqlite数据库,不需要与上面提到的shell工具关联) C#使用System.Data.SQLite.dll访问数据库 SQLite提供了用于C#调用的dll,注意根据.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(); } } }

(0)

相关推荐

  • php入门教程:利用表单调查表实例

    教程入门教程:利用表单调查表实例,下面小编就为大家详细讲解下. 操作方法 01 代码如下复制代码 <html> <head> <title>php教程入门教程:利用 ...

  • access数据库入门教程之使用设计视图创建窗体

    如今是信息化时代,科技迅速的发展,很多事情都要用到电脑,特别是对于数据的处理,所以我们不仅要会使用电脑,还要学习一些办公软件.今天就让我来教教你access数据库入门教程之使用设计视图创建窗体吧! 操 ...

  • oracle数据库入门教程

    Oracle Database,简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可 ...

  • 无代码做动效神器HYPE3入门教程

    Hype这个关键词在百度上搜索都不一定知道它到底是什么,但自从我用上之后,就爱上它了,就像当年喜欢上Sketch一样 >>> 它适合哪些人? 用AE、Flash等动画视频工具做App ...

  • MindManager新手入门教程

    MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户 ...

  • 可能是史上最全的IPAD插画入门教程

    今天这篇超全面的iPad 插画 入门指南,从哪款绘图软件好,不同触控笔的特点,可以画什么到怎么画都有非常细致的评测和过程,甚至有作者亲自演示的插画 教学(附绘画视频),用心程度让人惊喜不已,千万别错过 ...

  • 火狐浏览器插件开发入门教程

    许多网友都想学习火狐浏览器插件开发这一方面的知识,不过,目前,许多资料都是比较晦涩难懂,不太适合初学者.那么,初学者想要学习火狐浏览器插件开发该怎么入门呢?还是一起来看看今天的火狐浏览器插件开发入门教 ...

  • visual basic入门教程

    编程吗,如果你对电脑还是一个门外汉,来看看小编的visual basic入门教程,教你轻松入门,学期语言来so easy ! 操作方法 01 一.事件 通过上一章的例子,你可能对"面向对象的 ...

  • 如何解决SQLServer数据库实例“连接失败”?

    访问SQLServer数据库失败时,最常见的错误是"连接服务器失败,SQLServer不存在或访问被拒绝",或者"未能建立与(local)的链接,SQLServer不存在 ...