前沿

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

SQLite下载安装以及数据库的创建

SQLite的下载地址:http://www.sqlite.org/download.html

这里我下载的是支持WINDOWS系统,基于32位的版本

下载解压,你会看到就一个exe文件,不用安装,如果双击此文件,会弹出dos窗口,提示“连接到一个临时的内存中的数据库”。

如果我们想创建自己的数据库,那么我们要先创建一个保存数据库的文件夹,然后一定要把这个exe文件复制到我们保存数据库的文件夹,否则无法创建数据库。我这里在C盘下面创建一个Sqlite文件夹,然后把Sqlite.exe移动到此文件夹。

1、创建数据库:

打开dos窗口,首先进入我们刚才创建的目录:
 C:\Users\Administrator>CD/
 C:\>cd C:/Sqlite 然后我们使用Sqlite3命令输入:Sqlite3 Test.db,此时我们并没有在文件夹下面看到Test数据库,因为此时的数据库没有任何表和数据,所以我们看不到创建的数据库,但是数据库已经创建。

2、创建表News:


 此时即可完成表的创建,当把主键设为Integer时,则该主键为自动增长;

3、插入数据时:


 这里我们可以看到只要我们不输入分号,SQLite不会自动执行我们输入的语句,当我们输入分号的时候,才确认输入结束,最后执行。

4、查询表数据:

5、获取最后一次插入的数据的主键:

6、在DOS中,键入Ctrl+C,退出数据库,Unix中,使用Ctrl+D

更多SQLIte命令,可以看看官方文档:http://www.sqlite.org/cli.html

Sqlite管理工具 Navicat for SQLite

Nvaicat for SQLite是一款收费软件,免费使用1个月,对于用于学习的同学们是足够了;

下载地址:http://www.navicat.com.cn/products/navicat-for-sqlite

这里有详细的关于如何操作此款SQLite数据库的图文介绍,不过在使用过程中,好像无法通过此款软件直接创建数据库,只有附加数据库选项,这里我把刚才我们创建的数据库添加上来:

这里我们就可以看到我们刚才在dos下面创建的数据库啦!!我们可以像操作SQLserver那样来操作简单小巧的SQLIte数据库了。

(修改:在新建连接的时候是可以新建数据库的)

在项目中连接SQLite数据库

首先我们要下载System.Data.SQLite组件,下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

安装完以后,找到安装目录,在vs项目中添加对System.Data.SQLite.dll的引用,然后就可以我们可以像操作SQLserver那样来操作SQLite数据库了,这里有对应的数据库连接类、适配器等等。

 SQLiteConnection con = new SQLiteConnection();
con.ConnectionString = @"Data Source=C:\Sqlite\Test.db";
con.Open(); SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = con;
cmd.CommandText = "Select * from Tb_User";
SQLiteDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
MessageBox.Show(string.Format("{0}\t{1}", reader["Id"], reader["Name"]));
}
reader.Close();
con.Close();

总结

到这里,,我们还可以通过EF来操作SQLite,但是我自己在实验的时候,安装完第一个组件,在添加实体数据类型,选择数据库的时候就是找不到SQLite一项,估计是版本有问题。就先记录到这里吧

参考文章:http://www.cnblogs.com/aehyok/p/3981965.html

【.NET】学习SQLite(1)的更多相关文章

  1. 一个小时内学习SQLite数据库

    一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...

  2. Android开发学习——SQLite数据库与单元测试

    SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper  public class Myopenhelper extends SQLiteOpenHelp ...

  3. Android学习---SQLite数据库的增删改查和事务(transaction)调用

    上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...

  4. 学习SQLite之路(五) C/C++ SQLite开发实例

    介绍一种乌班图中使用sqlite的用法,非常简单,下面的例子是在乌班图12.04中实现的: 1,先安装两个东西: sudo apt-get install sqlite sqlite3 sudo ap ...

  5. 学习SQLite之路(四)

    20160621 更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite   alter命令:不通过执行一个完整的转储和数 ...

  6. 学习SQLite之路(三)

    20160616更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite  PRAGMA:可以用在 SQLite 环境内控制 ...

  7. 学习SQLite之路(二)

    下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...

  8. 学习SQLite之路(一)

    工作快一年了,接触的东西不是很多,学到的东西也不多.无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试. 参考: http://www.runoob.com/s ...

  9. 学习SQLite基本语句

    SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非 ...

随机推荐

  1. 题解 P1682 【过家家】

    P1682 过家家 题目描述 有2n个小学生来玩过家家游戏,其中有n个男生,编号为1到n,另外n个女生,编号也是1到n.每一个女生可以先选择一个和她不吵嘴的男生来玩,除此之外,如果编号为X的女生的朋友 ...

  2. 配置JNDI数据源

    配置JNDI数据源: 在MATE-INF中新建一个context.xml <?xml version="1.0" encoding="UTF-8"?> ...

  3. Handlebars 使用

    引入js <script src="js/json3.min.js"></script> <script src="js/handlebar ...

  4. Final类和Final方法

    终止继承 Final类 当关键字final用来修饰类时,其含义是该类不能在派生子类.换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问限制为public类型,也不能被继承:否则,将编译 ...

  5. c++数组遍历十种方式

    int ia[3][4] = {1,2,3,4,5,6,7,8}; //下标 for (int i = 0; i < 3; i++) {     for (int j = 0; j < 4 ...

  6. Python学习笔记(九)返回函数

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318352367 ...

  7. JAVA多线程基础学习二:synchronized

    本篇主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题,没错就是使用synchronized. 一.如何解决线程安全问题? 一般 ...

  8. java学习——equals()和==的比较

    equals 方法是 java.lang.Object 类的方法. 下面从两个方面来说明equals()和==的差别:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比 ...

  9. 脱离MVC使用Razor模板引擎

    关于Razor模板引擎 1.简介 模板引擎:Razor.Nveocity.Vtemplate.Razor有VS自动提示.使用起来会方便一点. 但是Razor大多是在MVC下使用的. 那么如何在非MVC ...

  10. DOM基础操作

    本文地址:http://www.cnblogs.com/veinyin/p/7606972.html  1 访问 HTML 元素 常用方法 document.getElementById(" ...