【.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 的安装和运行非 ...
随机推荐
- 配置ntpd时钟同步服务
ntpd时钟同步服务 目录 参考: CentOS配置时间同步NTP: http://www.crsay.com/wiki/wiki.php/server/centos/ntp-set 解决ntp的错误 ...
- nova-api源码分析(WSGI server的创建及启动)
源码版本:H版 一.前奏 nova api本身作为一个WSGI服务器,对外提供HTTP请求服务,对内调用nova的其他模块响应相应的HTTP请求.分为两大部分,一是服务器本身的启动与运行,一是加载的a ...
- OpenCV---图像二值化
一:什么是二值图像 彩色图像:三个通道0-,-,-,所以可以有2^24位空间 灰度图像:一个通道0-,所以有256种颜色 二值图像:只有两种颜色,黑和白,1白色,0黑色 二:图像二值化 (一)先获取阈 ...
- wget命令下载文件
wget -r -N -l -k http://192.168.99.81:8000/solrhome/ 命令格式: wget [参数列表] [目标软件.网页的网址] -V,–version 显示软 ...
- HDU 6053 TrickGCD 莫比乌斯函数/容斥/筛法
题意:给出n个数$a[i]$,每个数可以变成不大于它的数,现问所有数的gcd大于1的方案数.其中$(n,a[i]<=1e5)$ 思路:鉴于a[i]不大,可以想到枚举gcd的值.考虑一个$gcd( ...
- Mock InjectMocks ( @Mock 和 @InjectMocks )区别
之前一直对这两个注解的区别不是很明白. 搜到过一篇博客园的文章举例说明了代码行为的区别.后来在stackoverflow上看到一个问答简单明了的解释了这两个注解在定义上的区别: 在此翻译记录一下: / ...
- JQuery的链式编程,隐式迭代是啥意思?
链式编程 1.好处 "一句话,链式编程可以省去很多重复的代码." 这话什么意思呢?举个例子. /*设置obj对象的两个属性*/ //普通做法是这样的 obj.name = '小明' ...
- 51Nod - 1127 最短的包含字符串
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度.如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution. Inp ...
- ajax技术整理总结(1)
1.创建ajax对象 var xhr=new XMLHttpRequest(); 4.监听状态信息 xhr.onreadystatechange=function(){ //4接收完毕 ){ docu ...
- Tinyos Makerules解读
Makerules 文件解读 位于/opt/tinyos-2.1.2/support/make #-*-Makefile-*- vim:syntax=make #$Id: Makerules,v 1. ...