SQLite数据库
SQLite,是一款轻型的数据库,它包含在一个相对小的C库中。它的设计目标是嵌入式的,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比它们都快。
数据库操作
开发工具下的操作,不用使用shell来进行库管理
1. SQLite Studio下的数据库操作
SQLite Studio下载
链接:https://pan.baidu.com/s/1Gsvh2Uiw7QBnoX0t26oOjg
提取码:7sda
1.1 创建数据库
1.2 创建数据表(存放数据的表)
1.3 填写数据表名称,为表添加列
例如:添加id列:
一般情况下我们都会将id 作为数据条目的唯一标识,这个id 由数据库自动维护而不是我们手动维护,此时就要将这个id列设置为主键(Primary key)。
1.4 为表添加数据
数据库与数据表创建好之后,就是对数据进行操作,即进行增删改查工作
SQLIte的SQL语法
插入数据Insert(大小写都可以)
插入单条数据:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
columnN//是要插入数据的表中的列的名称
插入多条数据:
INSERT INTO TABLE_NAME VALUES
(value1,value2,value3,...valueN),
(value1,value2,value3,...valueN)...;
例:
insert into tible values
(null,'小王',20,0),
(null,'小赵',20,0)
where 子句
用于指定从一个表或多个表中获取数据的条件,如果满足条件,则为真,返回特定的值,where子句不仅可以用在select子句中,它也可以用在update,delete语句中
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
例:
```csharp
select *from suudent where name = '刘鹏'
运算符
筛选所需要的数据
(1)比较运算符
==
!= 不相等条件为真
<> 不相等则条件为真
(2)逻辑运算符 and or in等
update语句(改)
用于查询修改表中已有的数据
update students set name=‘张三’,age=33 where id=5;
例2:
对id为5的学生进行逻辑删除
update students set isdelete=1 where id=5;
select * from students where isdelete=0;
delete子句(删)
删除表中已有的记录
like子句
SQLite 的like运算符是用来匹配通配符指定模式的文本值
百分号(%) : 代表任意多的数字或字符
下划线(_) :代表一个单一的数字或者字符
例如
(1):select name,age from students where name like '%红';
(2):select name,age from students where name like '_红';
(3):select name,age from students where name like '王%';
姓名以红结尾的学生信息
姓名以红结尾的姓名为两个字的学生信息
姓名以王开头的学生信息
C#调用SQLite接口
SQLite.NET 也是一个数据访问组件,其中System.Data.SQLite 就好像是.NET 自带的
System.Data.SqlClient 一样。里面包含connection、command 等数据访问的常用对象,只是它们前面都有一个前缀sqlite。下载最新版SQLite,SQLite-1.0.66.0-setup.exe,安装完成后会生成动态链接System.Data.SQLite.DLL,在项目中直接引用System.Data.SQLite即可
一般来说,这样对数据库的操作的代码,都是写在类库里面的,这里需要注意的地方是,在编写对SQLite 使用的类库时,在类库中只需引用System.Data.SQLite.dll,文件放在什么地方无所谓,只要能引用就行
using System.Data.SQLite;
SQLite,SQLite-1.0.66.0-setup.exe下载:
链接:https://pan.baidu.com/s/1mYf-71MAK8xxqJvPvSGTwA
提取码:suqq
在vs中出现如下异常的解决办法:
异常:混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
在App.config文件中添加如下配置节:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
(1)引用System.Data.SQLite.dll
(2)代码编写,创建数据库,添加数据表,对表进行增删查改操作
创建一个空的数据库
SQLiteConnection m_dbConnection; 创建数据库连接
SQLiteConnection.CreateFile("MyDatabase.sqlite"); MyDatabase.sqlite可以是自定义表名
连接到指定的数据库
m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
在指定数据库创建数据表(highscores 为对应的表名)
string sql = "create table highscores (id int, name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();//ExecuteNonQuery方法主要用来更新数据。
ExecuteNonQuery方法主要用来更新数据。
插入数据(highscores 为对应的表名)
string sql = "insert into highscores (id, name, score) values (1, 'Me', 3000)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
更多精彩内容,关注公众号:
LLP学嵌入式