安卓开发查询mysql数据_【转】Android开发之数据库SQL

本文介绍了Android中SQLite数据库的基础知识,包括SQLite数据库的特点、数据类型、基本操作语句,以及如何在Android中调用数据库资源。通过SQLiteOpenHelper和SQLiteDatabase类,实现了数据的插入、查询、删除和更新。同时,讲解了Cursor接口的作用,它是数据库查询结果的游标,提供了对查询结果的访问方式。最后,提到了SimpleCursorAdapter在将数据库数据展示到AdapterView中的应用。
摘要由CSDN通过智能技术生成

android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作。

一、android内的数据库的基础知识介绍

1.用了什么数据库

android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的。相关简介可以从链接查看。

2.数据库基本知识观花

对于一些和我一样还没有真正系统学习数据库技术的同学来说,把SQL92标准中的一些基本概念、基本语句快速的了解一下,是很有必要的,这样待会用Android的database相关方法去执行一些数据库语句时就不会茫然了。

①数据库的基本结构——表格

表格是数据库中储存资料的基本架构。表格被分为栏位 (column) 及列位

(row)。每一列代表一笔资料,而每一栏代表一笔资料的一部份。举例来说,如果我们有一个记载顾客资料的表格,那栏位就有可能包括姓、名、地址、城市、国家、生日...等等。每一个表格拥有一个独一无二的名字(Table

Name)以便能够让用户定位到它上面。一个典型的表格结构如下:

Store_Information 表格

store_name

Sales

Date

Los Angeles

$1500

Jan-05-1999

San Diego

$250

Jan-07-1999

Los Angeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

该表格的表格名字为Store_Information,一共有三个栏位,分别为store_name , Sales , Data ,已经录入了四笔数据所以有四个列位。

②关于数据类型

和其他的数据库不同的是,sqlite是无类型的。也就是当你创建一个表格时,无需对每一个栏位要存储的数据的类型进行声明,当你在给表格增加数据条目时,sqlite会自动找到存入的数据的类型。

SQLite允许忽略数据类型,但是,仍然建议在Create

Table语句中指定数据类型,因为数据类型有利于增强程序的可读性。SQLite支持常见的数据类型,如VARCHAR、NVARCHAR、TEXT、

INTEGER、FLOAT、BOOLEAN、CLOB、BLOB、TIMESTAMP、NUMERIC、VARYING、CHARACTER、

NATl0NAI, VARYINGCHARACTER。这些数据类型都是SQL92标准中规定的标准数据库数据类型,想要有更近一步了解,请参看下表。

SQL数据库数据类型详解

数据类型

类型

描             述

bit

整型

bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off

int

整型

int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节

smallint

整型

smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间

tinyint

整型

tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节

numeric

精确数值型

numeric数据类型与decimal 型相同

decimal

精确数值型

decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

money

货币型

money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一

smallmoney

货币型

smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一

float

近似数值型

float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数

real

近似数值型

real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数

datetime

日期时间型

datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒

Smalldatetime

日期时间型

smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟

cursor

特殊数据型

cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用

timestamp

特殊数据型

timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。

一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”,

但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的

Uniqueidentifier

特殊数据型

Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列

char

字符型

char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000

个字符

varchar

字符型

varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度

text

字符型

text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符

nchar

统一编码字符型

nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍

nvarchar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从MySQL数据库检索数据并将其显示在Android应用程序中,您需要使用以下步骤: 1. 创建一个PHP文件来连接MySQL数据库并执行查询操作。 2. 在Android应用程序中使用Volley库进行HTTP请求并获取PHP文件返回的JSON数据。 3. 解析JSON数据并将其显示在TextView中。 以下是示例代码: 1. 创建PHP文件: ``` <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database_name"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Execute query and get results $sql = "SELECT * FROM table_name"; $result = $conn->query($sql); // Convert results to JSON format $rows = array(); while($r = mysqli_fetch_assoc($result)) { $rows[] = $r; } echo json_encode($rows); // Close connection $conn->close(); ?> ``` 2. 在Android应用程序中使用Volley库进行HTTP请求并获取PHP文件返回的JSON数据: ``` // Instantiate the RequestQueue. RequestQueue queue = Volley.newRequestQueue(this); String url = "http://example.com/get_data.php"; // Request a string response from the provided URL. JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { // Parse JSON data and display in TextView try { JSONObject jsonObject = response.getJSONObject(0); String data = jsonObject.getString("column_name"); textView.setText(data); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // Handle error } }); // Add the request to the RequestQueue. queue.add(jsonArrayRequest); ``` 3. 解析JSON数据并将其显示在TextView中: 在上面的代码示例中,我们仅获取了JSON数组的第一个元素并从中获取了特定列的值。您可以根据需要解析JSON数据并将其显示在TextView中。 希望这可以帮助您开始从MySQL数据库检索数据并将其显示在Android应用程序中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值