1. 程式人生 > >【資料庫】通過專案再學習sqlite

【資料庫】通過專案再學習sqlite

引言

    最近在做番茄軟體的開發,由於是本地儲存資料庫選擇的是輕量級的sqlite資料庫。之前在學習三層架構的時候接觸過sqlite,但是也僅限於簡單的應用。而在這次的開發過程中對於sqlite的認識更深了

基本增刪改查語法

1、select column  from table_name where condition

2、update table_name set  column=value where condition

3、insert into table_name(column) values(value)

4、delete from table_name where condition

在專案中的應用

    按以往來說是要用伺服器上的資料庫,所有人只要用到這個系統就會訪問伺服器上的資料庫。但此次專案的釋出是沒有資料庫的,需要先檢測本地是否有資料庫,如果沒有的話需要先建立,檢測表也是同理,這些過程都是需要用程式碼去實現的。具體程式碼如下:

/// 
/// 檢測plan表是否存在,如果不存在就建立
/// 如果存在,判斷t_plan表是否存在,不存在建立
/// 
public void CreatePlan()
{
    string dbPath = "sql.db";
    //如果不存在該資料庫檔案,否則建立該資料庫檔案
    if (!System.IO.File.Exists(dbPath))
    {
        SqliteHelper.CreateDB("sql.db");
    }
    SqliteHelper.SQLiteDBHelper("sql.db");
    //判斷t_plan表是否存在
    string table = "select name from sqlite_master where type='table' and name='t_plan'";
    if (table == null)
    {
        string sql = "create table t_plan(id integer NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,planName varchar(20),flag int(5))";
        SqliteHelper.ExecuteNoQuery(sql, null);
    }
    else
    {
        return;
    }
}

private static string connectionString = string.Empty;
/// 
/// 建構函式
/// 
/// SQLite資料庫檔案路徑
public static void SQLiteDBHelper(string dbPath)
{
    //預設建立地址為解決方案的debug資料夾
    connectionString = "Data Source=" + dbPath;
}
/// 
/// 建立SQLite資料庫檔案
/// 
/// 要建立的SQLite資料庫檔案路徑
public static void CreateDB(string dbPath)
{
    using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbPath))
    {
        connection.Open();
        using (SQLiteCommand command = new SQLiteCommand(connection))
        {
            command.CommandText = "CREATE TABLE sql(id integer NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE)";
            command.ExecuteNonQuery();

            command.CommandText = "DROP TABLE sql";
            command.ExecuteNonQuery();
        }
    }
}

結語

    深入瞭解之後發現一個小小的資料庫竟然有這麼大的功能,而大型的資料庫並不一定有這種功能。sqlite作為一種輕量型資料庫,用於本地儲存十分方便。