如何删除SQLite中的所有空表?

时间:2010-02-19 22:29:45

标签: sql database sqlite

我想删除所有没有行的表。

如何删除SQLite中的所有空表?

修改
我需要在手机上做这个(没有外壳)。在Windows Mobile手机上。

1 个答案:

答案 0 :(得分:7)

可以删除表,无论它们是否在执行命令时都包含数据。任何以其他方式运作的数据库的Dunno。这意味着:

1)获取表格列表 -

SELECT name 
  FROM sqlite_master
 WHERE type = 'table'

2)迭代该列表,使用COUNT(*)来确定表中是否存在任何行:

SELECT COUNT(*) 
  FROM ~table

3)如果返回的数字小于1,则执行DROP语句:

DROP TABLE ~table

SQLite没有函数或存储过程支持 - 您必须从应用程序执行此操作。