SQLite 内存数据库备份到磁盘中

来源:互联网 发布:软件黑客联系方式 编辑:程序博客网 时间:2024/05/16 08:20
SQLite 一些有用的笔记。

1. SQLite 内存数据库备份到磁盘中。

    备份当前SQLite内存数据库(:memory:模式创建的数据库)到磁盘中,备份磁盘数据库,当然也可以用此办复制数据库。以下使用SQLite的 .Net版本。

    string dbFile = @"D:\data\books.db";
    SQLiteCommand cmd = conn.CreateCommand();
    cmd.CommandType = System.Data.CommandType.Text;

    cmd.CommandText = string.Format("attach '{0}' AS disk_db", dbFile);
    cmd.ExecuteNonQuery() ;

    cmd.CommandText = "BEGIN TRANSACTION";
    cmd.ExecuteNonQuery();

    //存在表则删除该表
    cmd.CommandText = "DROP TABLE IF EXISTS disk_db.address_book";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "CREATE TABLE disk_db.address_book AS SELECT * FROM address_book";
    // OR IF TABLE IS EXISTS: cmd.CommandText = "INSERT INTO disk_db.address_book AS SELECT * FROM address_book";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "COMMIT TRANSACTION";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "DETACH disk_db";

    cmd.ExecuteNonQuery();

 

2. 判断表是否存在另外方法

SELECT COUNT(*) FROM sqlite_master where type='table' and name='address_book';

 

3. DROP TABLE
语法:DROP TABLE [IF EXISTS] [database-name.] table-name

 

4. 修改表名称

ALTER TABLE 旧表名 RENAME TO 新表名

 

5. 为表增加一列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 限定符


原创粉丝点击