编辑
2025-09-25
C#
00

目录

准备工作
连接到数据库
创建表
修改表结构
添加列
删除表
重命名表
完整示例
注意事项
结论

本文将详细介绍如何使用C#进行SQLite表的基本操作,包括创建表、修改表结构、删除表和重命名表。这些操作是数据库管理的基础,对于开发数据驱动的应用程序至关重要。

准备工作

首先,确保你已经安装了 System.Data.SQLite NuGet包。在你的C#文件顶部添加以下using语句:

C#
using System; using System.Data.SQLite;

连接到数据库

在进行任何表操作之前,我们需要先连接到数据库。以下是一个建立连接的辅助方法:

C#
public static SQLiteConnection ConnectToDatabase(string dbPath) { try { SQLiteConnection connection = new SQLiteConnection($"Data Source={dbPath};Version=3;"); connection.Open(); return connection; } catch (Exception ex) { Console.WriteLine($"连接数据库时出错:{ex.Message}"); return null; } }

创建表

创建表是最基本的操作之一。以下是创建表的方法:

C#
public static void CreateTable(SQLiteConnection connection, string tableName, string[] columns) { try { string columnsDefinition = string.Join(", ", columns); string sql = $"CREATE TABLE IF NOT EXISTS {tableName} ({columnsDefinition})"; using (SQLiteCommand command = new SQLiteCommand(sql, connection)) { command.ExecuteNonQuery(); } Console.WriteLine($"表 {tableName} 创建成功。"); } catch (Exception ex) { Console.WriteLine($"创建表时出错:{ex.Message}"); } }

使用示例:

SQL
string[] columns = { "ID INTEGER PRIMARY KEY AUTOINCREMENT", "Name TEXT NOT NULL", "Age INTEGER" }; CreateTable(connection, "Users", columns);

image.png

image.png

修改表结构

修改表结构包括添加列、删除列等操作。SQLite对表结构的修改有一些限制,主要支持添加列操作。

添加列

C#
public static void AddColumn(SQLiteConnection connection, string tableName, string columnDefinition) { try { string sql = $"ALTER TABLE {tableName} ADD COLUMN {columnDefinition}"; using (SQLiteCommand command = new SQLiteCommand(sql, connection)) { command.ExecuteNonQuery(); } Console.WriteLine($"列 {columnDefinition} 添加成功。"); } catch (Exception ex) { Console.WriteLine($"添加列时出错:{ex.Message}"); } }

使用示例:

SQL
AddColumn(connection, "Users", "Email TEXT");

image.png

删除表

删除表的操作相对简单:

C#
public static void DropTable(SQLiteConnection connection, string tableName) { try { string sql = $"DROP TABLE IF EXISTS {tableName}"; using (SQLiteCommand command = new SQLiteCommand(sql, connection)) { command.ExecuteNonQuery(); } Console.WriteLine($"表 {tableName} 删除成功。"); } catch (Exception ex) { Console.WriteLine($"删除表时出错:{ex.Message}"); } }

使用示例:

SQL
DropTable(connection, "Users");

image.png

image.png

重命名表

SQLite支持使用 ALTER TABLE 语句来重命名表:

C#
public static void RenameTable(SQLiteConnection connection, string oldTableName, string newTableName) { try { string sql = $"ALTER TABLE {oldTableName} RENAME TO {newTableName}"; using (SQLiteCommand command = new SQLiteCommand(sql, connection)) { command.ExecuteNonQuery(); } Console.WriteLine($"表 {oldTableName} 重命名为 {newTableName} 成功。"); } catch (Exception ex) { Console.WriteLine($"重命名表时出错:{ex.Message}"); } }

使用示例:

SQL
RenameTable(connection, "Users", "Customers");

image.png

image.png

完整示例

以下是一个完整的示例,展示了如何使用上述所有方法:

C#
using System; using System.Data.SQLite; class Program { static void Main(string[] args) { string dbPath = "C:\\example.db"; SQLiteConnection connection = ConnectToDatabase(dbPath); if (connection != null) { // 创建表 string[] columns = { "ID INTEGER PRIMARY KEY AUTOINCREMENT", "Name TEXT NOT NULL", "Age INTEGER" }; CreateTable(connection, "Users", columns); // 添加列 AddColumn(connection, "Users", "Email TEXT"); // 重命名表 RenameTable(connection, "Users", "Customers"); // 删除表 DropTable(connection, "Customers"); // 关闭连接 connection.Close(); } } // 连接数据库方法 public static SQLiteConnection ConnectToDatabase(string dbPath) { // 实现代码... } // 创建表方法 public static void CreateTable(SQLiteConnection connection, string tableName, string[] columns) { // 实现代码... } // 添加列方法 public static void AddColumn(SQLiteConnection connection, string tableName, string columnDefinition) { // 实现代码... } // 删除表方法 public static void DropTable(SQLiteConnection connection, string tableName) { // 实现代码... } // 重命名表方法 public static void RenameTable(SQLiteConnection connection, string oldTableName, string newTableName) { // 实现代码... } }

注意事项

  1. SQLite对表结构的修改有一些限制,例如不支持直接删除或修改列。如果需要这些操作,通常的做法是创建一个新表,复制数据,然后删除旧表。
  2. 在实际应用中,应该考虑使用参数化查询来防止SQL注入攻击。
  3. 对于大型数据库操作,考虑使用事务来确保数据完整性。
  4. 始终记得在完成操作后关闭数据库连接。

结论

本文详细介绍了使用C#进行SQLite表操作的方法,包括创建表、修改表结构、删除表和重命名表。这些操作为进一步的数据管理和操作奠定了基础。在实际应用中,你还需要考虑数据插入、查询、更新和删除等更多操作。

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!