`
iihero
  • 浏览: 254831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQLite中重复值的插入

 
阅读更多
sqlite> create table t(id integer primary key autoincrement, col2 varchar(32));
sqlite> insert into t values((select (max(rowid) % 8192 + 1) from t), 'fdasfaf');
sqlite> select * from t;
1|fdasfaf
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> select * from t;
1|fdasfaf
2|k9
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> select * from t;
1|fdasfaf
2|k9
3|k9
4|k9
5|k9
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> select * from t;
1|fdasfaf
2|k9
3|k9
4|k9
5|k9
6|k9
7|k9
8|k9
9|k9
10|k9
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> replace into t values((select (max(rowid) % 10 + 1) from t), 'k9');
sqlite> select * from t;
1|k9
2|k9
3|k9
4|k9
5|k9
6|k9
7|k9
8|k9
9|k9
10|k9
sqlite>
0
1
分享到:
评论
2 楼 iihero 2011-09-14  
qq258112065 写道
数据库开发和java开发谁更有发展前途啊?

不知道你说的数据库开发,是指应用开发,还是底层开发?
如果是底层开发(开发dbms),当然很有前途.
1 楼 qq258112065 2011-09-14  
数据库开发和java开发谁更有发展前途啊?

相关推荐

    SQLite3 使用实例

    SQLite3 是一款轻量级的关系型数据库管理系统,它被广泛应用于嵌入式系统、移动应用以及需要快速存储和检索数据的项目中。由于其体积小、无服务器模式、支持多种编程语言,SQLite3 成为了开发者首选的本地数据库解决...

    vc调用sqlite详细例子

    - 准备和执行SQL语句:对于参数化查询,使用`sqlite3_prepare_v2()`,例如插入数据: ```cpp const char *stmt = "INSERT INTO my_table VALUES (?, ?)"; sqlite3_stmt *stmt; rc = sqlite3_prepare_v2(db, ...

    传sqliteAPI文档

    )占位符可以使用`sqlite3_bind_*()`系列函数绑定变量值,如`sqlite3_bind_int()`、`sqlite3_bind_text()`等,以确保数据安全并防止SQL注入。 5. **结果集处理**:当执行查询语句时,可以使用`sqlite3_column_*()`...

    SQL语句基础(Sqlite).pdf

    创建表时要注意主键(primary key)的设置,主键用于标识表中的每一行,且其值必须唯一,不能重复。 删除表则是将表的结构和其中存储的所有数据从数据库中移除,使用DROP TABLE语句可以完成这一操作。例如,删除...

    如何使用C#操作SQLite数据库

    这个过程重复11次,向名为`test`的表中插入10条记录。 最后,我们执行一个SELECT查询,将表中的所有记录读取出来。使用`SQLiteDataReader`遍历结果集,将`username`和`password`字段的值打印到控制台。运行这段代码...

    sqlite3开发所需库

    在C++环境中,SQLite3库允许开发者通过API接口与数据库进行交互,进行SQL查询、数据插入、更新和删除等操作。 SQLite3库的使用涉及到以下几个关键知识点: 1. **安装与配置**:在C++项目中使用SQLite3,首先需要...

    已经分装好的sqlite3的例子代码

    预编译语句可以在多个地方重复使用,只需要改变参数值即可。 6. 动态参数绑定: SQLite3允许在预编译的SQL语句中使用占位符(如`?`或`:name`),并通过`sqlite3_bind_*`系列函数将变量值绑定到这些占位符上。这在...

    SQLite3中自增主键相关知识总结

    1. INTEGER PRIMARY KEY AUTOINCREMENT字段在插入新记录时,如果该字段值为NULL,SQLite会自动分配一个比当前rowid最大值大1的值,确保唯一性。你可以手动指定非NULL值,但必须避免冲突。 2. 当rowid达到其最大值时...

    Android中的sqlite查询数据时去掉重复值的方法实例

    为了确保数据的唯一性,我们还可以通过在数据库设计时,为特定列设置主键(Primary Key)约束,这样在插入新数据时,SQLite会自动避免插入重复的主键值,从而达到去重的目的。 总结起来,Android中的SQLite去重查询...

    ios sqlite数据库操作

    使用`sqlite3_prepare_v2`预编译SQL,然后使用`sqlite3_step`遍历结果集,`sqlite3_column_int`和`sqlite3_column_text`等函数获取列值: ```objc const char *selectSql = "SELECT id, name FROM Users"; sqlite...

    android滑动SQLite分页加载

    首先,我们需要了解SQLite的基本操作,包括创建数据库、表,以及插入、查询和更新数据。在Android中,通常通过SQLiteOpenHelper类来管理数据库的生命周期,创建和升级数据库。例如: ```java public class ...

    SQLITE学习资料,非常精彩,很清晰

    SQLite 是一个轻量级的、开源的 SQL 数据库引擎,它不需要单独的服务器进程,而是直接集成在应用程序中。SQLite 具有自包含、可移植、事务性等特性,广泛应用于移动设备、嵌入式系统以及桌面应用。由于其体积小、...

    Sqlite3官方库和工具

    - 唯一索引:确保索引列的值不重复。 - 聚集索引:SQLite默认创建的索引,索引项包含行的所有数据。 - 非聚集索引:不包含行的所有数据,仅存储索引列的值和指向实际数据的指针。 - 复合索引:由多个列组成的...

    CppSqlite Sqlite封装类

    `CppSqlite` 是一个专门为C++开发者设计的SQLite数据库操作封装类库,它的出现极大地简化了在C++程序中与SQLite数据库交互的复杂性。SQLite是一款轻量级的关系型数据库管理系统,广泛应用于嵌入式系统、移动设备以及...

    Android实现SQLite添加、更新及删除行的方法

    要向SQLite数据库表中插入新行,首先需要创建一个`ContentValues`对象,然后使用其`put()`方法为每列设置对应的值。例如,假设我们有一个名为`DATABASE_TABLE`的表,其中包含`COLUMN_NAME`列,插入新行的步骤如下: ...

    SQLite函数大全实用.pdf

    这个PDF文档,"SQLite函数大全实用.pdf",显然详细列出了SQLite中可用的函数,帮助用户更好地理解和操作数据库。 1. **数学与转换函数**: - `abs(X)`:返回参数X的绝对值,例如`abs(-5)`将返回5。 - `round(X)`...

    Android-嵌入式SQLite数据库.doc

    在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的关系型数据库,适用于移动设备。SQLite被嵌入到Android系统中,使得开发者能够方便地存储和管理应用程序的数据。以下是关于Android嵌入式SQLite...

    execSQL和SQLiteStatement的executeInsert方法插入1000条数据所需要的时间对比

    在Android开发中,数据库操作是常见的任务之一,SQLite作为Android内置的关系型数据库,为我们提供了方便的数据存储和管理功能。在批量插入数据时,性能优化显得尤为重要。本话题将深入探讨`execSQL`方法与`...

    SQLite速度评测代码

    在描述中提到的情况,有人测试 SQLite 的性能时发现批量插入1000条记录竟然耗时约2分钟,这似乎表明其效率低下。然而,实际上,这可能是因为没有充分利用 SQLite 的优化策略。 在给出的测试代码中,可以看到每次...

    Android sqlite设置主键自增长的方法教程

    在SQLite中,只有整型主键可以使用`Autoincrement`属性,这将确保每当插入新的行时,该字段的值会自动增加。 ```sql CREATE TABLE TableName ( _id INTEGER PRIMARY KEY AUTOINCREMENT, // 其他字段... ); ``` 2...

Global site tag (gtag.js) - Google Analytics