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 列名 数据类型 限定符