Articles of sql

如何在Eclipse的Eclipse Debug模式下查看SQL数据库

我正在寻找一种方法来查看实时(我调试)我的SQL数据库中的内容。 有谁知道如何做到这一点? 我试过通过variables选项卡查看,但似乎找不到任何东西。

房间没有按所需顺序插入

我想按照数组的排序方式在数据库中插入数据。 我尝试使用@Insertvoid insert(BaseQuote… baseQuote);对象@Insertvoid insert(BaseQuote… baseQuote); 在for循环中,我尝试先删除数据库中的数据,然后再将其插入工作。 我试过了 @Insert(onConflict = OnConflictStrategy.REPLACE) void insertAll(List baseQuote); 但仍然没有…… 数组im插入应该像这个[‘c’ , ‘a’ , ‘b’]但是在查询之后就像这样 @Query(“SELECT * FROM BaseQuote”) List getWatchlist(); 结果仍然像这个[ ‘a’ , ‘b’,’c’ ]任何想法?

如何通过ORDER构建一个SQLite查询到GROUP?

我有一个相当有趣的情况。 我有一个充满地址和消息的SQLite数据库(地址不是唯一的;消息是)。 每条消息还有一个与之关联的日期。 我想要做的是选择第一个消息的地址,消息,日期以及与该地址关联的消息数量。 所以,我想,“我只能按地址分组,每个地址只能获得一条消息,然后按日期对它们进行排序,并获取地址列的COUNT。” 我这样做了,它有效……有点儿。 它获取正确的计数,每个地址只获取一条消息,并按日期对它们进行排序 – 但它不会为该地址选择最新的消息。 它似乎是武断的。 例如,我有三条消息(最早到最晚)来自地址Y的A,B,C,以及来自地址Z的三条消息D,E,F。查询可以获取消息B和E, 然后按日期对它们进行排序。 它应该获取消息C和F,并按日期对它们进行排序。 这是我到目前为止: // Expanded version: Cursor cursor = db.query( /* FROM */ “messages_database”, /* SELECT */ new String[]{ “*”, “COUNT(address) AS count” }, /* WHERE */ null, /* WHERE args */ null, /* GROUP BY */ “address”, /* HAVING */ null, /* ORDER […]

在SQLite数据库中加入3个表

我在SQLite数据库中有3个表: 歌曲: _id | name | length | artist_id (foreign key) | album_id (foreign key) 艺术家: _id | name 专辑: _id | name 我需要一个包含以下列的表的查询(在Android应用程序中使用它): _id | name | length | artist_id | artist_name | album_id | album_name 但是,我写了以下查询语句: SELECT Songs._id, Songs.name, Songs.length, Songs.artist_id, Artists.name, Songs.album_id, Albums.name FROM Songs, Artists, Albums WHERE Songs.artist_id = Artists._id AND […]

在Android中的SQLite数据库中保存ArrayList

我一直在Android上使用SQLite,我想在表中的列中添加一个arraylist,然后将数据作为arraylist获取。 arraylist是Longs的列表。 我注意到SQL有一个存储BLOBS的选项,但是看起来我需要首先将arraylist转换为byte []然后才能将它作为blob存储在我的SQLite数据库中。 如果有人有关于如何将arraylists保存到SQLite数据库的解决方案,将非常感激。 或者是否有任何其他选项来保存我的数据数组,我应该考虑?

Android SQLite查询 – 获取最新的10条记录

我有一个保存在我的Android应用程序中的数据库,想要检索插入数据库的最后10条消息。 我用的时候: Select * from tblmessage DESC limit 10; 它给了我10条消息但是来自TOP 。 但我想要最后 10条消息。 可能吗? 假设整个表数据是 – 1,2,3,4,5….30 我select * from tblmessage where timestamp desc limit 10写了查询select * from tblmessage where timestamp desc limit 10 它显示30,29,28…21 但我希望序列为 – 21,22,23…30

我可以使用ContentResolver.query()执行此Android查询吗? (LEFT JOIN和CASE)

我想在Android上执行以下查询(在伪代码中): SELECT C.ID, C.NAME, CASE ISNULL(G.GROUPID,0) = 0 THEN 0 ELSE 1 END INGROUP FROM CONTACTS C LEFT JOIN GROUPMEMBERSHIP G ON G.CONTACTID = C.ID AND G.GROUPID = ? 我希望通过默认的Contacts ContentProvider选择系统通讯录中所有联系人的ID和名称,以及指示联系人是否是组成员的0/1字段? 。 我当然可以很容易地获得所有联系人,然后在我的Adapter类中单独循环并查询成员资格,但我想要执行两个查询,因为一个外部联接查询将产生更好的性能。 我可以使用标准的高级字符串投影和ContentResolver.query()方法吗? 或者这种查询是否需要深入研究更直接的SQL执行?

Android Sqlite IN,NOT IN语法

我正在尝试运行NOT IN select NOT IN列表是动态的。 就像是 SELECT id, type FROM CONTACTS where type NOT IN (‘connect’,’answer’) 在代码中,我徒劳无功的尝试是: db.query(TABLE, new String[] { “id”, “”}, ” type NOT IN (?)”, “connect,answer”, null, null, null); // didn’t work db.query(TABLE, new String[] { “id”, “”}, ” type NOT IN (?)”, “‘connect’,’answer'”, null, null, null); // didn’t work 我对此的看法是? 替换将我的逗号列表视为单个参数。 […]

Android – sqlite in子句使用数组中的值

我想执行一个sqlite查询: select * from table_name where id in (23,343,33,55,43); in子句中的值需要从字符串数组中获取: String values[] = {“23″,”343″,”33″,”55″,”43”} 我怎样才能做到这一点? 10X!

sqlite插入表select * from

我需要在我的Android应用中将数据从一个表移动到另一个表 我想使用以下sql: insert into MYTABLE2 select id, STATUS risposta, DATETIME(‘now’) data_ins from MYTABLE 2 不幸的是,在表MYTABLE2中有一个_ID列AUTOINCREMENT。 我能做什么? 谢谢。 编辑:这是我的MYTABLE2,我希望用另一个表中的数据填充表格: CREATE TABLE “ANSWERS” (“_id” INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , “ID_QUESTION” INTEGER,”DATE_INS” DATETIME DEFAULT (CURRENT_DATE) , “ANSWER” INTEGER)