如何在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的主要内容,如果未能解决你的问题,请参考以下文章
如何测试 sqllite3 在 Python 中返回结果或为空的位置?