SQLite是什么

SQLite是什么,第1张

SQLite是遵守ACID的关系数据管理系统,它包含在一个相对小的C程式库中。它是DRichardHipp建立的公有领域项目。不像常见的客户端或服务器的结构范例,SQLite引擎不是程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

1首先你需要去下载一个 Navicat for SQLite ,怎么下载这里我不多说,你可以去百度搜索。最好下载绿色版。搜索 “Navicat for SQLite 绿色版”。

2下载后,右击软件包进行解压缩。

3下载后双击文件夹,打开文件目录,找到 navicatexe 这个主程序,右击在d出菜单依次点击发送到(N)--->桌面快捷方式。

4这时你的电脑桌面就多了一个 navicatexe 的快捷方式图标,以后需要打开,直接点击这个快捷方式就可以了。

5双击桌面快捷方式,打开软件,在软件左上角点击连接按钮,点击后d出新建连接对话框。

6在d出窗口中输入连接名,选择类型-然后在下面选择数据库文件,或者数据库保存位置。

7这样就在你的指定位置创建了一个Sqlite数据库文件了,有了这个数据库文件你可以做任何数据库的 *** 作了。

1·创建数据库Android

不自动提供数据库。在

Android

应用程序中使用

SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android

提供了

SQLiteOpenHelper

帮助你创建一个数据库,你只要继承

SQLiteOpenHelper

类,就可以轻松的创建数据库。

2·SQLiteOpenHelper

类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper

的子类,至少需要实现三个方法:构造函数,调用父类

SQLiteOpenHelper

的构造函数。

3·这个方法需要四个参数:

上下文环境(例如,一个

Activity),

数据库名字,

一个可选的游标工厂(通常是

Null),

一个代表你正在使用的数据库模型版本的整数。onCreate()方法,它需要一个

SQLiteDatabase

对象作为参数,根据需要对这个对象填充表和初始化数据。onUpgrage()

方法,它需要三个参数,一个

SQLiteDatabase

对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

public

class

DatabaseHelper

extends

SQLiteOpenHelper

{

DatabaseHelper(Context

context,

String

name,

CursorFactory

cursorFactory,

int

version)

{

super(context,

name,

cursorFactory,

version);

}

@Override

public

void

onCreate(SQLiteDatabase

db)

{

//

TODO

创建数据库后,对数据库的 *** 作

}

@Override

public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,

int

newVersion)

{

//

TODO

更改数据库版本的 *** 作

}

superonOpen(db);

//

TODO

每次成功打开数据库后首先被执行

}

}

复制代码接下来讨论具体如何创建表、插入数据、删除表等等。

SQLite数据库是一款系统安全类软件,这个应用程序允许浏览Android上SQLite数据库。可以选择从以下三种方法打开数据库。

1、打开数据库文件直接。

2、发送一个意图和内容提供商。

3、发送一个意图和数据库文件的完整路径。

SQLite数据库通常存储在单个普通磁盘文件中。但是,在某些情况下,数据库可能存储在内存中。

强制SQLite数据库单纯的存在于内存中的最常用方法是使用特殊文件名“ :memory: ” 打开数据库。换句话说,不是将真实磁盘文件的名称传递给sqlite3_open(),sqlite3_open16()或 sqlite3_open_v2()函数之一,而是传入字符串“:memory:”。例如:

调用此接口完成后,不会打开任何磁盘文件。而是在内存中创建一个新的数据库。数据库连接关闭后,数据库就不再存在。每一个memory数据库彼此不同。因此,打开两个数据库连接,每个数据库连接的文件名为“:memory:”,将创建两个独立的内存数据库。

特殊文件名“:memory:”可用于允许数据库文件名的任何位置。例如,它可以被用作 文件名 中的ATTACH命令:

请注意,为了应用特殊的“:memory:”名称并创建纯内存数据库,文件名中不能有其他文本。因此,可以通过添加路径名在文件中创建基于磁盘的数据库,如下所示: "/:memory:"。

使用URI文件名时,特殊的“:memory:”文件名也可以使用。例如:

要么,

如果使用URI文件名打开内存数据库,则允许它们使用共享缓存。如果使用未加修饰的“:memory:”名称来指定内存数据库,那么该数据库始终具有专用高速缓存,并且仅对最初打开它的数据库连接可见。但是,可以通过两个或多个数据库连接打开相同的内存数据库,如下所示:

要么,

这允许单独的数据库连接共享相同的内存数据库。当然,共享内存数据库的所有数据库连接都需要在同一个进程中。当数据库的最后一个连接关闭时,将自动删除数据库并回收内存。

如果在单个进程中需要两个或多个不同同时可共享的内存数据库,则mode = memory查询参数可与URI文件名一起使用以创建命名的内存数据库:

要么,

当以这种方式命名内存数据库时,它将仅与使用完全相同名称的另一个连接共享其缓存。

当传递给sqlite3_open()或 ATTACH的数据库文件的名称是空字符串时,则会创建一个新的临时文件来保存数据库。

每次都会创建一个不同的临时文件,因此就像使用特殊的“:memory:”字符串一样,两个到临时数据库的数据库连接都有自己的私有数据库。创建它们的连接关闭时,将自动删除临时数据库。

即使为每个临时数据库分配了磁盘文件,实际上临时数据库通常驻留在内存中的pager缓存中,因此“:memory:”创建的纯内存数据库与临时数据库之间的差别很小。由空文件名创建。唯一的区别是“:memory:”数据库必须始终保留在内存中,而如果数据库变大或SQLite受到内存压力,临时数据库的某些部分可能会刷新到磁盘。

前面的段落描述了默认SQLite配置下临时数据库的行为。如果需要,应用程序可以使用 temp_store编译指示和SQLITE_TEMP_STORE编译时参数来强制临时数据库表现为纯内存数据库。

SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing)。 此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。

Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。

SQLiteOpenHelper 的子类,至少需要实现三个方法:

1 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。

2 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。

3 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

SQLite是一种轻型数据库,常用于移动设备和嵌入式系统中。在手机存储中,SQLite被用作一个本地的嵌入式数据库,用于存储和管理应用程序的数据。SQLite提供了一个简单的、易于集成的方式,使开发者可以将数据存储在手机本地,而不需要连接到远程服务器。

SQLite的主要优点是其轻量级、高效和易用性。它占用的空间非常小,可以在手机存储中轻松地安装和管理,而且它不需要独立的服务器或其他软件来运行。开发者可以使用SQLite来存储应用程序的各种数据,如用户配置、本地缓存、日志信息等。

此外,SQLite还提供了多种编程语言的API,如C、Java、Python等,使得开发者可以使用自己熟悉的编程语言来 *** 作SQLite数据库。这些API非常易于使用,能够让开发者快速地进行数据库 *** 作,如查询、插入、更新和删除数据等。

总之,SQLite是一种简单、高效、易于集成的本地数据库,适用于在手机等移动设备上存储和管理数据。

SQLite添加、更新和删除数据是常见的数据库 *** 作。然而,数据越高并不一定好,这取决于具体的需求和情况。以下是关于这些 *** 作的更详细的解释:

添加数据:使用SQLite添加数据非常简单,只需向表中插入新的行即可。添加数据的目的是为了将新的数据存储到数据库中,以便后续查询和 *** 作。然而,添加过多的数据可能会导致数据库变得庞大和不易维护,因此需要根据实际需求来控制添加的数据量。

更新数据:在SQLite中更新数据需要使用UPDATE语句,可以更新表中现有行的数据。更新数据的目的是为了使数据库中的数据与实际情况保持同步。然而,更新数据的频率过高也可能会导致数据库变得混乱和难以维护,因此需要根据实际需求来控制更新的数据量和频率。

删除数据:在SQLite中删除数据需要使用DELETE语句,可以删除表中的指定行。删除数据的目的是为了清理不需要的数据,以便数据库可以更好地管理和维护。然而,删除过多的数据可能会导致数据丢失和无法恢复,因此需要在删除数据时谨慎处理。

综上所述,添加、更新和删除数据的 *** 作需要根据实际需求来控制数据量和频率。数据越高并不一定好,而是应该根据实际需求来合理管理和维护数据库。

以上就是关于SQLite是什么全部的内容,包括:SQLite是什么、怎么建立一个sqlite的数据库、android SQLiteDatabase中的update函数用法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9476075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存