SQLite清空表并将自增列归零
作者:Zhu Yanfeng 发布:2012-09-29 14:43 分类:数据库 阅读:3,567次 抢沙发
SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用“DELETE FROM TableName”就可以了。对于大多数DBMS来说,用DELETE不如用TRUNCATE 速度快,因为TRUNCATE 不用访问整个表,不用记录数据的变动。
SQLite虽然不支持TRUNCATE,但它对DELETE做了优化:“When the WHERE is omitted(略去) from a DELETE statement and the table being deleted has no triggers(触发器), SQLite uses an optimization(优化) to erase the entire table content without having to visit each row of the table individually. This “truncate” optimization makes the delete run much faster.”
通常在清空表的时候,还需要把自增列归零。在SQLite中定义自增列的方法如下:
CREATE TABLE TableName ( id INTEGER PRIMARY KEY AUTOINCREMENT, ... );
1
CREATE TABLE TableName ( id INTEGER PRIMARY KEY AUTOINCREMENT, ... );
当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。这个表包含两个列:name和seq。name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1)。如果想把某个自增列的序号归零,只需要修改 sqlite_sequence表就可以了。
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'TableName';
1
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'TableName';
也可以直接把该记录删掉:
DELETE FROM sqlite_sequence WHERE name = 'TableName';
1
DELETE FROM sqlite_sequence WHERE name = 'TableName';
要想将所有表的自增列都归零,直接清空sqlite_sequence表就可以了:
DELETE FROM sqlite_sequence;
1
DELETE FROM sqlite_sequence;
分享到:
相关推荐
一、SQLite清空表并将自增列归零 SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用 DELETE FROM TableName 就可以了。对于大多数DBMS来说,用DELETE不如用...
sqlite学生表数据库c语言操作,使用c语言对sqlite数据库进行基本操作
android sqlite table多级联动 管理本地数据库
使用python连接sqlite数据库,并且清空sqlite数据库。此资源是python连接sqlite数据库所进行的操作。
Android Database SQLite 多表操作源码,可以用android studio 跑起来没问题。是android 数据库SQLite很好的操作源码,支持多表操作。
继承自SQLiteOpenHelper 类,当数据库的数据或表结构有变动时,可以自动更新数据库,免去还得卸载程序,或者数据库更名的问题
用来学习可以
主要介绍了Python实现读写sqlite3数据库并将统计数据写入Excel的方法,涉及Python针对sqlite3数据库的读取及Excel文件相关操作技巧,需要的朋友可以参考下
SQLite数据表查询操作 实现方式:① rawQuery() -> 指向SQL语句 ② API方法 即 Query()方法 -> 根据参数控制
SQLite Truncate Table 在 SQLite 中,并没有 TRUNCATE TABLE 命令,但可以使用 SQLite 的 DELETE 命令从已有的表中删除全部的数据。...当 SQLite 数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。
完整版生成Sqlite表结构.rar
包括三张表分组表MyGroup,数据库表MyDB,数据表表MyTable,测试用例中使用到了,操作是测试数据库的其中一张表,其中包括清空sqlite数据库MyGroup表中的数据,清空sqlite数据库sqlite_sequence表中的自增变量,...
易语言模块生成Sqlite表结构.rar 易语言模块生成Sqlite表结构.rar 易语言模块生成Sqlite表结构.rar 易语言模块生成Sqlite表结构.rar 易语言模块生成Sqlite表结构.rar 易语言模块生成Sqlite表结构.rar
在Java下连接SQLite数据库 一、下载SQLite数据库的JDBC:http://www.zentus.com/sqlitejdbc/ 二、将下载到的包解压后得到jar包放到%JAVA_HOME%\lib下,并且将其添加到ClassPath系统环境变量中。一定要保证在类路径...
易语言模块Sqlite表管理.rar 易语言模块Sqlite表管理.rar 易语言模块Sqlite表管理.rar 易语言模块Sqlite表管理.rar 易语言模块Sqlite表管理.rar 易语言模块Sqlite表管理.rar
自定义ExpandableListView结合Sqlite,实现listview点击收缩效果
使用SQLite时,继承SQLiteOpenHelper, onCreate方法只有在第一次创建数据库的时候才会被调用, 因此,重新更改或者添加表时,需要在DDMS里面删掉原来的.db文件,重新运行,就可以~ 补充知识:Android studio ...
用python sqlite3给已经有的表增加字段。sql语句的写法,表名用自己的,其他的请严格区分大小写,要不然不会成功。
sqlite设置表主键1