【.NET】学习SQLite(1)
前沿
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)的更多相关文章
- 一个小时内学习SQLite数据库
一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...
- Android开发学习——SQLite数据库与单元测试
SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper public class Myopenhelper extends SQLiteOpenHelp ...
- Android学习---SQLite数据库的增删改查和事务(transaction)调用
上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...
- 学习SQLite之路(五) C/C++ SQLite开发实例
介绍一种乌班图中使用sqlite的用法,非常简单,下面的例子是在乌班图12.04中实现的: 1,先安装两个东西: sudo apt-get install sqlite sqlite3 sudo ap ...
- 学习SQLite之路(四)
20160621 更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite alter命令:不通过执行一个完整的转储和数 ...
- 学习SQLite之路(三)
20160616更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite PRAGMA:可以用在 SQLite 环境内控制 ...
- 学习SQLite之路(二)
下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...
- 学习SQLite之路(一)
工作快一年了,接触的东西不是很多,学到的东西也不多.无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试. 参考: http://www.runoob.com/s ...
- 学习SQLite基本语句
SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非 ...
随机推荐
- Ubuntu+NDK编译openssl
为了Android上使用libcurl且支持HTTPS协议,需要依赖openssl,因此先来了解一下如何编译OpenSSL1.编译ARM下的共享库(默认的)我使用的是guardianproject的o ...
- PHP字符串定义方式和单引号双引号的区别
$str=<<<任意标记 ......................... .............................. 任何标记; 单引号和双引号的区别? ''号 ...
- spring boot 2.0.3+spring cloud (Finchley)4、熔断器Hystrix
在分布式系统中服务与服务之间的依赖错综复杂,一种不可避免的情况就是某些服务会出现故障,导致依赖于他们的其他服务出现远程调度的线程阻塞.某个服务的单个点的请求故障会导致用户的请求处于阻塞状态,最终的结果 ...
- HDU 4946 凸包
给你n个点,具有速度,一个位置如果有其他点能够先到,则不能继续访问,求出里面这些点哪些点是能够无限移动的. 首先我们考虑到,一个速度小的和一个速度大的,速度小的必定只有固定他周围的一定区域是它先到的, ...
- HDU 1812 polya 大数
由于反射的存在,分奇偶讨论其置换的循环节数量,大数用JAVA就好了. import java.math.*; import java.util.*; public class Main{ public ...
- 关于 Capella 需要纠正的语音
li { font-size: 18px; } 关于 Capella 需要纠正的语音 持续更新 浊塞音声带要振动 区分 [θ]/[ð] 和 [t̪],注意舌位 [ɫ] 的舌位,切记不能圆唇 [æ] 的 ...
- 【Eclipse】Elipse自定义library库并导入项目
1.定义像JRE System Library之类的库 (1)点击UserLibrary (2)如果没有就点击new新建一个user library,否则进行4 (3)向user library添加 ...
- struts获得参数(属性,对象,模型驱动)
0. strutsMVC
- Linux内核同步原语之原子操作【转】
转自:http://blog.csdn.net/npy_lp/article/details/7262388 避免对同一数据的并发访问(通常由中断.对称多处理器.内核抢占等引起)称为同步. ——题记 ...
- 136.Single Number---异或、位运算
题目链接 题目大意:给出一串数组,里面的数都是两个,只有一个数是一个,把这个只有一个的数找出来.时间复杂度最好是线性的,空间复杂度最好为O(1). 法一:利用map,空间换时间,代码如下(耗时26ms ...