Sqlite学习

一,Sqli简介

SQLite是遵循ACID的关联式数据库管理种类,它富含在一个争持小的C库中。它是D.RichardHipp建立的国有领域项目。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通讯的单独进度,而是连接受程序中变为它的一个重中之重部分。所以首要的通讯协议是在编程语言内的平昔API调用。那在费用总量、延迟时间和完好简单性上有积极的作用。整个数据库(定义、表、索引和数目本身)都在宿主主机上囤积在一个纯净的文书中。它的简易的布置性是透过在开班一个工作的时候锁定任何数据文件而成功的。

二,环境布署

Sqlite官网地址:http://www.sqlite.org/

Sqlite3文件下载:

1.下载 sqlite-dll-win32-x86-3140100

2.下载 sqlite-tools-win32-x86-3140100

安装:

先在C盘建一个文书夹 sqlite,

1.把 sqlite-dll-win32-x86-3140100 中解压出来的八个公文(sqlite3.def
和 sqlite3.dll)复制到刚才新建的目录(C:\sqlite)中

2.把 sqlite-tools-win32-x86-3140100 中解压出来的文件 sqlite3.exe
复制到C:\sqlite 目录中

3.添加系统环境变量, 在Path变量值前边添加
C:\sqlite(分号不要遗忘了),如下图所示:

sqlite 1

接下去测试一下是还是不是安装到位

运行cmd,切换来C盘根目录,输入sqlite3,然后回车,借使设置成功的话,会展现sqlite版本号,如下图所示:

sqlite 2

OK,Sqlite3已经安装到位了。

三,常用命令

//转到桌面
cd C;\User\hasee\Desktop 
//打开数据库文件,如果没有创建
sqlite3 data.db
//列出表名
.table
//创建表
create table UESR(uid integer,name text,score text);
//删除表格
drop table USER;
//主键自增
create table if not exists USER(uid integer primary key autoincrement,name text,score text);
插入信息
insert into USER values(1,'郭靖',89);
//插入信息
insert into USER(name,score) vlaues('杨过','89');
//修改
update USER set name = '黄老邪'where name='李寻欢';
//展示表中的所有信息
select*from USER;
//以UID删除
delete from USER where uid = 4;
//返回有几行
select count(*) from USER;
//返回总和
select sum(score)from USER;
select*from USER where score >90 and score<95;
select *from USER limit 2;//前两条
select *from USER order by score;//正序排
select *from USER order by score desc;//倒序排
select *from USER order by score desc limit 1;//倒数第一个
.exit
select USER.name,USER.score,KUNGFU.name from USER,KUNGFU where USER.uid  = KUNGFU.uid;
unique 唯一键  修饰字段的

 

四,unity中常用类

  在unity中貌似将Sqlite的一种类操作写在一个类中,并安装为单例情势,然后别的指令操作封装为函数

  1.SqliteConnection类:

  建立数据库链接,要求提供链接地址,假设不设有该数据库,则会新建一个您提供文件名的数据库。 

  

  public static SqliteManager Instance;
1 void Awake () {
2         Instance = this;
3         con = new SqliteConnection("Data Source="+Application.dataPath+"/Data/data.db");
4         con.Open();
5     }

 

sqlite,  2.SqliteCommand类

   执行数据库执行命令

1  public void executeNonQuery(string sqlStr) {
2         command = new SqliteCommand(sqlStr,con);
3         command.ExecuteNonQuery();
4         command.Dispose();
5         return;
6     }

  封装后方可在直接调用,例如下边建表

 

1 public string str="create table if not exists USER(uid integer primary key autoincrement,name text,password text)";
2 SqliteManager.Instance.executeNonQuery(str); 

 

  3.SqliteDataReader类

1   //执行数据库查询封装
2     public SqliteDataReader  executeQuery(string sqlStr) {
3         command = new SqliteCommand(sqlStr,con);
4         SqliteDataReader reader = command.ExecuteReader();
5         command.Dispose();
6         return reader;
7     }

  封装后调用

 1
SqliteDataReader reader =SqliteManager.Instance.executeQuery (“select *
from ITEM where uid=” +
uid);//* 

 

网站地图xml地图