我该如何编写SQLite查询?

时间:2017-12-25 17:52:28

标签: android sql sqlite android-sqlite

在SQLite中向Database写入查询时,我应该像这样编写它们:

String query = "SELECT Items.ItemName, Items.ItemId, Items.Checked FROM Lists JOIN Items ON Lists.Id = Items.IdList WHERE Lists.Name=?";

或者像这样:

String query = "SELECT " + TABLE_ITEMS + "." + ITEM_NAME + ", " + TABLE_ITEMS + "." + ITEM_ID + ", " + TABLE_ITEMS
                + "." + ITEM_CHECKED + " FROM " + TABLE_LISTS + " JOIN " + TABLE_ITEMS + " ON " + TABLE_LISTS
                + "." + LIST_ID + "=" + TABLE_ITEMS + "." + ITEM_ID_LIST_FOREIGN_KEY + " WHERE " + TABLE_LISTS + "." + LIST_NAME + "=?";

我应该使用什么原则?

2 个答案:

答案 0 :(得分:1)

我更喜欢第一种选择。是的,如果您想更改字段/表格名称,您将有很多替换,但是......

如果你决定编写原始查询而不是使用ORM,那么替换总是不可避免的。

答案 1 :(得分:0)

第二种方法是我通常喜欢的方法。这是因为:

  • 如果要更改表中的某个字段,则不需要更新每个查询。只需更新一次字段,所有查询都可以正常工作。

  • 更改数据库版本时。您可以在第二种方法中轻松更新它。

没有'原则',但使用第二种方法比第一种方法有明显的优势。