如何在sqlite中更改数据库名称?

时间:2012-06-01 07:12:59

标签: sqlite

我只需要更改数据库的名称 看起来像 Alter database命令在sqlite中无效。

我的情景是 我现在有sqlite加密数据库我想重命名它。 manulay重命名db文件加密后无法正常工作。所以我试图使用命令更改dbname。看起来问题是由于加密。

3 个答案:

答案 0 :(得分:11)

每个sqlite文件只包含一个数据库。这个数据库没有名字。对于我记忆中的内容,第一个打开的数据库有一个“虚拟”名称main,当您想要引用它时,请说当您附加补充数据库时。您可以选择附加的数据库的“虚拟”名称。

[someone@somewhere tmp]$ sqlite3 bla.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /tmp/bla.db                                  
sqlite> attach database 'example.db' as another_db;
sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /tmp/bla.db                                  
2    another_db       /tmp/example.db       

否则Laurent是正确的,您可以重命名数据库文件,如果这是您要在此处执行的操作。

答案 1 :(得分:2)

SQLite中没有数据库名称,因为每个文件只有一个数据库。也许您想要做的是重命名SQLite文件。

答案 2 :(得分:1)

在最新版本的Sqlite3中,有 .backup 命令。

如果数据库不大,这可能是一个解决方案:

S:\>sqlite3 encrypted.db
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .backup new.db
sqlite> .q

然后

S:\>sqlite3 new.db
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>