System.Data.SQLite 数据库详细介绍
什么是System.Data.SQLite?
System.Data.SQLite是.NET平台下开源的、基于SQLite的数据访问框架。它可以给.NET应用程序提供SQLite的数据库连接和操作能力,同时兼容ADO.NET的数据处理方式。
System.Data.SQLite安装及使用
- 安装
可以通过NuGet包管理器,或者官方网站下载源代码的方式安装System.Data.SQLite。在Visual Studio的NuGet包管理器中搜索System.Data.SQLite,并安装即可。也可以从官方网站下载源代码,解压缩后编译得到DLL文件,然后在项目中引用。
- 使用
在引用了System.Data.SQLite的.Net项目中,可以使用以下方式连接SQLite数据库文件:
using System.Data.SQLite;
//连接SQLite数据库
SQLiteConnection conn = new SQLiteConnection("Data Source=database.db;Version=3;");
conn.Open();
这里的“Data Source”指定了SQLite文件的路径和文件名,可以是绝对路径或相对路径。
对于表的创建、数据的插入、查询和更新等操作,与其他的关系型数据库类似,在SQL语句的基础上,调用对应的方法即可。这里仅给出一个创建表的示例:
SQLiteCommand cmd = new SQLiteCommand("CREATE TABLE sample (id int, name varchar(20))", conn);
cmd.ExecuteNonQuery();
以上语句创建了一个名为“sample”的表,包含两个字段:id和name。
System.Data.SQLite的优势和适用范围
- 小巧灵活
System.Data.SQLite属于嵌入式数据库,将数据存储在本地文件中,不需要独立的服务和占用大量系统资源。SQLite数据库的文件大小也相对较小,通常在几MB以下。因此,它非常适用于轻量级的应用场景。
- 跨平台
SQLite是跨平台的数据库,支持Windows、Mac、Linux等多个操作系统。因此,System.Data.SQLite也可在.NET生态系统之外的环境下使用。
- 安全性高
SQLite对数据库进行文件加密以保证数据的安全,可基于密码机制进一步提高数据的安全性。
示例1:创建SQLite数据库并插入数据
using System.Data.SQLite;
private void CreateDB()
{
SQLiteConnection conn = new SQLiteConnection("Data Source=sample.db;Version=3;");
conn.Open();
SQLiteCommand cmd = new SQLiteCommand("CREATE TABLE users (id integer PRIMARY KEY AUTOINCREMENT, name varchar(50), age integer)", conn);
cmd.ExecuteNonQuery();
cmd = new SQLiteCommand("INSERT INTO users (name, age) VALUES (@name, @age)", conn);
cmd.Parameters.AddWithValue("@name", "Tom");
cmd.Parameters.AddWithValue("@age", 28);
cmd.ExecuteNonQuery();
cmd = new SQLiteCommand("INSERT INTO users (name, age) VALUES (@name, @age)", conn);
cmd.Parameters.AddWithValue("@name", "Jack");
cmd.Parameters.AddWithValue("@age", 32);
cmd.ExecuteNonQuery();
}
以上代码创建了一个名为“users”的表,包含三个字段:id、name和age,并插入两条数据。
示例2:查询SQLite数据库中的数据
using System.Data.SQLite;
private void QueryDB()
{
SQLiteConnection conn = new SQLiteConnection("Data Source=sample.db;Version=3;");
conn.Open();
SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM users", conn);
SQLiteDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
int age = reader.GetInt32(2);
Console.WriteLine("id: {0}, name: {1}, age: {2}", id, name, age);
}
}
以上代码查询了“users”表中的所有数据,并输出到控制台。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:System.Data.SQLite 数据库详细介绍 - Python技术站