android sqlite使用zip,安卓学习笔记29:使用SQLite数据库

本文围绕SQLite数据库展开,介绍了其学习目标,包括利用sqlite3、SQLiteDatabase和SQLiteOpenHelper操作数据库与表。阐述了SQLite的构成、数据类型和特点,如支持多种数据类型、事务处理机制等。还介绍了数据库管理工具,如sqlite3控制台工具和Navicat可视化工具的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零、学习目标

学会利用sqlite3来创建以及操作数据库

能利用SQLiteDatabase操作数据库与表

能利用SQLiteOpenHelper操作数据库与表

一、SQLite数据库概述

SQLite是D. Richard Hipp用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。

1、SQLite构成

SQLite由SQL编译器、内核、后端以及附件几个部分构成。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使得调试、修改和扩展SQLite的内核变得更加方便,所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。SQLite的整体结构图如下:

aaad05305318ad39ff2444b53c0b40fe.png

2、SQLite数据类型

概括来讲,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,分别代表空值、整型值、浮点值、字符串文本、二进制对象。

3、SQLite数据库特点

值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。

在事务处理方面,SQLite通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程想数据库执行写操作之前,必须获得独占锁。在获得独占锁之后,其他的读或写操作将不会再发生。

SQLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。

ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。

二、SQLite数据库管理工具

(一)数据库控制台管理工具 - sqlite3

1、下载sqlite3

a462cfe3bee317f8c301000e6c37dc8a.png

在Pecompiled Binaries for Windows下载 sqlite-tools-win32-x86-3340000.zip (1.76 MiB)

744ad1de85f7fee150075d7dfaf9d7a3.png

2、解压缩到指定目录

解压缩到D盘根目录

98e5729c2904f02ffa8ac3ceaca0a98e.png

0f840fc5e7d8fb70eb0df8da7436dd3e.png

修改一下目录名 - D:\sqlite3

1e0b8e42c8e6ba281213f3ec100131f9.png

3、使用sqlite3操作数据库及表

创建学生数据库 - student.db

4b7de753117d7a997c9828dcce668af4.png

如果数据库存在,那么sqlite3 就是打开数据库,否则就是新建数据库

36a6dcae6ce53353fb1776b5df776694.png

查看全部数据库

9a784720ce46e67be3c3f4337b448a23.png

创建学生表 - stu

ac4a3769a0663a7a330365557508fc8b.png

查看表结构

2a28f200a6074496c7802aaa79b0ab13.png

插入表记录

cc255b0a624fddfda741a7ececeae398.png

查看表记录

3f40458c64a6ec5af1378c188c617075.png

更新表记录 - 将“李红云”改成“李小云”

9d1fb0ac9ad4f4b9f1716c557b6969a3.png

删除表记录 - 删除id为2的记录

3f009ee5df1c3cd6bdf0d530582158bf.png

删除学生表

6a5572e93fc3e042dbe122ab666d8643.png

帮助命令

226ce62b27098445ae369e52aaf0e123.png

重新创建学生表并插入记录

73bba085d9d7965ff79466f086ffec92.png

(二)数据库可视化管理工具 - Navicat

0d22382afb5444f9cd1d610b7b85c575.png

1、利用Navicat访问sqlite3数据库及表

409cbe5ae5edbb4e8b3c33680ec88140.gif

2、新建查询,进行查询操作

3e53c95178cbc7308551a9a7cce2ed5c.png

本文同步分享在 博客“howard2005”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值