用于 C# 的 SQL 基本语法总结

SQL 基本语法总结,本文目前用于 Visual Studio 2015 平台的 SQLite3, 其他用法以后总结。

1. 使用 Nuget 添加 SQLite 库

在 Visual Studio 2015 中,选择:工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet 程序包

在此界面下检索「SQLite」, 根据需要选择安装其中一个 SQLite 库,最好是红框部分内容中,二选一。

之后在界面的右侧,选择需要安装到的项目,之后进行安装操作即可。

2. 常用策略

2.1 对异常进行捕获

1
2
3
4
5
6
7
8
try
{
//将对数据库进行操作的语句放置在try中
}
catch (Exception ex)
{
//对异常进行处理
}

2.2 事务及 SQLite 代码框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//使用以下语句配合具体的SQL操作语句即可
//注:不主动控制事务时,每次执行SQL指令即会重复开启新的事务,
//会在SQL操作方面花费大量的时间。所以在进行大量插入、修改操作
//时,主动开启事务会极大节省时间
var conn = new SQLiteConnection("Data Source =
./bitkyData.db; Version = 3; ");
conn.Open();
var trans = conn.BeginTransaction(); //开启事务
var cmd = conn.CreateCommand();
try
{
//通过操作cmd,使用具体的SQL操作语句
}
catch (Exception)
{
trans.Rollback(); //事务回滚
//进行具体的异常处理
}
trans.Commit();//事务提交
conn.Close();//连接关闭

3. 必备代码块

3.1 必要初始化操作

1
2
//指定数据库的地址,以及SQLite版本号
SQLiteConnection conn = new SQLiteConnection("Data Source = ./bitkyData.db; Version = 3; ");

3.2 向表中插入指定的条目

1
2
3
4
5
6
7
8
void insertData()
{
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO ElectrodeController(typeA,typeB,typeM) VALUES (1, 2, 3)";
cmd.ExecuteNonQuery();
conn.Close();
}

3.3 设置查询的条件,查询指定条目的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void selectData()
{
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM
ElectrodeController where num > 45";
var reader = cmd.ExecuteReader();//获取结果集
if (reader.HasRows)
{
while (reader.Read())
{
Debug.WriteLine("ID: " + reader.GetInt32(0));
}
}
conn.Close();
}

3.4 获取数据表中条目的数量

1
2
3
4
5
6
7
8
9
static void getCount()
{
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText = "SELECT COUNT(*) FROM ElectrodeController";
var scalar = cmd.ExecuteScalar();\\获取结果集中第一行第一列的那个值
Debug.WriteLine("count: " + Convert.ToInt32(scalar));
conn.Close();
}

4. 参考资料

  1. C# 查询 SQL 数据库表里共有多少条记录的两种方法
  2. C# 获取 SQL 2005 表中的记录总数
  3. C# , SQLite 批量操作速度优化
  4. C# 操作 Dataset 数据集与 SQLite 数据库