如何在android中使用sqllite

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中使用sqllite相关的知识,希望对你有一定的参考价值。

参考技术A SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, php, Python)都使用了 SQLite.

android 开发中使用 SQLite 数据库
Activites 可以通过 Content Provider 或者 Service 访问一个数据库。下面会详细讲解如果创建数据库,添加数据和查询数据库。
创建数据库
Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:
构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。本回答被提问者采纳

如何在 SqlLite 中获取 Top 5 记录?

【中文标题】如何在 SqlLite 中获取 Top 5 记录?【英文标题】:How to get Top 5 records in SqLite? 【发布时间】:2011-02-13 07:31:43 【问题描述】:

这个我试过了,还是不行。

select top 5 * from [Table_Name]

【问题讨论】:

【参考方案1】:
SELECT * FROM Table_Name LIMIT 5;

【讨论】:

+2 表示正确答案和不包括不酷的方括号。 如果标题中有空格,方括号是必要的。 但限制在子查询 sqlite 中不起作用..替代方案是什么【参考方案2】:
select * from [Table_Name] limit 5

【讨论】:

【参考方案3】:

等效的语句是

select * from [TableName] limit 5

http://www.w3schools.com/sql/sql_top.asp

【讨论】:

【参考方案4】:

TOP 和方括号特定于 Transact-SQL。在 ANSI SQL 中,使用 LIMIT 和反引号 (`)。

select * from `Table_Name` LIMIT 5;

【讨论】:

LIMIT 不是 ANSI SQL。 ANSI SQL 方式是 FETCH FIRST 5 ROWS ONLY。双引号也用于分隔标识符,例如“表名”。【参考方案5】:
select price from mobile_sales_details order by price desc limit 5

注意:我有 mobile_sales_details 表

语法

select column_name from table_name order by column_name desc limit size.  

如果您需要最高低价,只需从 order by 中删除关键字 desc

【讨论】:

【参考方案6】:
Select TableName.* from  TableName DESC LIMIT 5

【讨论】:

DESC 使用不当。没有效果。【参考方案7】:

仅替换您的表名[TABLE_NAME] 并使用。

"select * from "+TABLE_NAME+ " LIMIT " +5;

【讨论】:

如果表名或限制来自不受信任的来源,这很容易受到 SQL 注入的影响

以上是关于如何在android中使用sqllite的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SqlLite 中获取 Top 5 记录?

如何测试 sqllite3 在 Python 中返回结果或为空的位置?

sqllite如何实现更新

如何导航到android中的下一个sqlite表列?

Qt 如何连接到 android OS 中现有的 SQLite 文件?

Android sqllite 问题