316科技

316科技

centos安装sqlite3

316科技 293

一、centos安装sqlite3

CentOS 安装 SQLite3

在服务器端开发过程中,SQLite 是一个轻量级的数据库引擎,常用于嵌入式设备和小型应用程序中。CentOS 是一种流行的 Linux 发行版,本文将介绍在 CentOS 上安装 SQLite3 的方法。

步骤一:更新系统

在安装任何软件之前,首先确保您的系统是最新的,可以通过以下命令更新:

sudo yum update

步骤二:安装 SQLite3

要在 CentOS 上安装 SQLite3,可以执行以下命令:

sudo yum install sqlite

安装完成后,您可以验证 SQLite3 是否成功安装,输入以下命令来检查版本信息:

sqlite3 --version

步骤三:使用 SQLite3

安装完成后,您可以开始使用 SQLite3 数据库。以下是一些常用的 SQLite3 命令示例:

  • sqlite3 newdatabase.db:创建一个新的数据库。
  • .databases:显示当前连接的所有数据库。
  • CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);:创建名为 "students" 的表。
  • INSERT INTO students (name, age) VALUES ('Alice', 20);:向表中插入数据。
  • SELECT * FROM students;:检索表中的所有数据。

您可以根据您的需求执行各种 SQLite3 命令来管理和操作数据库。

步骤四:卸载 SQLite3

如果您想从 CentOS 系统中卸载 SQLite3,可以使用以下命令:

sudo yum remove sqlite

这将删除 SQLite3 软件包及其依赖项。

结论

通过本文的介绍,您现在应该知道如何在 CentOS 上安装和使用 SQLite3 数据库。SQLite3 的轻量级特性使其成为许多开发人员首选的数据库引擎之一。在您的项目中使用 SQLite3 可以帮助您高效地管理数据。希望本文对您有所帮助,祝您在 CentOS 上的开发工作顺利!

二、sqlite3优缺点?

sqlite的主要优点:

 零配置(Zero Configuration)

SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复。

 紧凑(compactness):

  SQLite是被设计成轻量级,自包含的。一个头文件,一个lib库,你就可以使用关系数据库了,不用任何启动任何系统进程。一般来说,整个SQLITE库小于225KB。

 可移植(Portability)

 它是运行在Windows,Linux,BSD,Mac OSX和一些商用Unix系统,比如Sun的Solaris,IBM的AIX,同样,它也可以工作在许多嵌入式操作系统下,比如QNX,VxWorks,PalmOS, Symbin和Windows CE。

  最大特点:采用无数据类型,所以可以保存任何类型的数据,SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:

1.NULL:空值。

2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。

3.REAL:浮点数字,存储为8-byte IEEE浮点数。

4.TEXT:字符串文本。

5.BLOB:二进制对象。

但同样的,这样的做法会导致在插入和修改时,要花去更多的时间。

SQLITE的缺点:

1:SQLITE不可储存过多的数据库,它的性能发挥最好只能在存放较小的数据量情况下。不要把它当做MYSQL甚至ORACLE来使用。它只是一个200K的数据库。

2:sqlite3不像MYSQL那样使用固定日志文件,所有使用insert、update、delete的运行效率只是一般,sqlite3的一个事务,需要调用4次fsync()操作,而一般的大型数据库,如mysql只用到了2次。sqlite3对每个事务都创建一个临时文件来记录日志,这个日志创建、更新和删除竟然使用了3次fsync()!为什么不用一个固定的日志文件呢?实在难以理解设计者的思路。可能他们把重点放在"Select"性能上吧。通过阅读sqlite3-3.5.1的源代码,发现作者也试图对这个问题进行修正,可能由于可靠性的原因,一直没有正式公布。

三、sqlite3缓存,参数?

Sqlite 缓存参数在下文中查询:数据库一般运行在嵌入式环境中,需要兼顾性能和硬件资源。

SQLite 使用 PRAGMA 命令在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可以根据需求进行设置。主要介绍几个在嵌入式开发中经常使用的关键参数。

synchronous

synchronous Pragma 获取或设置当前磁盘的同步模式,该模式控制积极的 SQLite 如何将数据写入物理存储。也就是说该参数控制何时执行sync指令。

Pragma 值描述0 或 OFF不进行同步。1 或 NORMAL在关键的磁盘操作的每个序列后同步。2 或 FULL在每个关键的磁盘操作后同步。

当synchronous设置为FULL (2), SQLite数据库引擎在紧急时刻会暂停以确定数据已经写入磁盘。这使系统崩溃或电源出问题时能确保数据库在重起后不会损坏。为了保证数据的安全性,该项建议设置为FULL。

journal_mode

journal_mode Pragma 获取或设置控制日志文件如何存储和处理的日志模式。

Pragma 值描述DELETE默认模式。在该模式下,在事务结束时,日志文件将被删除。TRUNCATE日志文件被阶段为零字节长度。PERSIST日志文件被留在原地,但头部被重写,表明日志不再有效。MEMORY日志记录保留在内存中,而不是磁盘上。OFF不保留任何日志记录。

首先补充一个知识点,SQLite中日志模式主要有DELETE和WAL两种,其中WAL(Write ahead logging)是一种日志模式,它是一种思想,普遍应用于关系型数据库。每个事务执行变更时,修改数据页,同时会产生日志,这样在事务提交后,不需要将修改的脏页刷盘,只需要将事务产生的日志落盘即可返回。WAL保证日志一定先于对应的脏页落盘,就是所谓的WAL。

DELETE模式采用影子分页技术(Shadow paging),DELETE模式下,日志中记录的变更前数据页内容;WAL模式下,日志中记录的是变更后的数据页内容。事务提交时,DELETE模式将日志刷盘,将DB文件刷盘,成功后,再将日志文件清理;WAL模式则是将日志文件刷盘,即可完成提交过程。

建议将journal_mode 设置为delete,当数据写入数据库有失败动作时,透过journal档案予以复原到未更动前(原始)数据,来确保数据完整与一致性。如果在每次写入的时间很长或频繁的进行数据库写入情况下,因系统(主机)电力不稳或突然断电时,那么下次重新启动,而journal档案若存在,则在开启SQLite数据库时,若发现有journal档案的存在,便会对数据库做Rollback 动作(还原)。

journal_size_limit

默认值为-1,表示没有限制,单位是字节。

DELETE模式下,当日志增长超过阀值时,则进行截断。default_journal_size_limit,用于设置日志文件的默认大小。

cache_size

cache_size Pragma 可获取或暂时设置在内存中页面缓存的最大尺寸。

pages 值表示在缓存中的页面数。内置页面缓存的默认大小为 2,000 页,最小尺寸为 10 页。每页使用约1.5K内存,若需要使用改变大量多行的UPDATE或DELETE命令,并且不介意SQLite使用更多的内存的话,可以增大缓存以提高性能。建议设置为2000即可。

auto_vacuum

auto_vacuum Pragma 获取或设置 auto-vacuum 模式。

Pragma 值描述0 或 NONE禁用 Auto-vacuum。这是默认模式,意味着数据库文件尺寸大小不会缩小,除非手动使用 VACUUM 命令。1 或 FULL启用 Auto-vacuum,是全自动的。在该模式下,允许数据库文件随着数据从数据库移除而缩小。2 或 INCREMENTAL启用 Auto-vacuum,但是必须手动激活。在该模式下,引用数据被维持,自由页面只放在自由列表中。这些页面可在任何时候使用 incremental_vacuum pragma 进行覆盖。

正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以后的添加操作中再次使用。这种情况下使用VACUUM命令释放删除得到的空间。但是Vacuum的效率非常低!建议 设置成NONE(0),定时手动进行VACUUM操作。

void db_config(sqlite3 *db)

{

int ret;

char *errmsg=NULL;

system("sync");

ret = db_sql_exec(db,"pragma journal_mode=delete;",&errmsg);

if(ret !=SQLITE_OK)

{

fprintf(stderr, "config db wal error: %s\n", errmsg);

sqlite3_free(errmsg);

}

ret = db_sql_exec(db,"pragma synchronous=FULL;",&errmsg);

if(ret !=SQLITE_OK)

{

fprintf(stderr, "config db synchronous error: %s\n", errmsg);

sqlite3_free(errmsg);

}

ret = db_sql_exec(db,"pragma journal_size_limit=409600;",&errmsg);

if(ret !=SQLITE_OK)

{

fprintf(stderr, "config db journal_size_limit error: %s\n", errmsg);

sqlite3_free(errmsg);

}

ret = db_sql_exec(db,"PRAGMA cache_size =2000",&errmsg);

if(ret !=SQLITE_OK)

{

fprintf(stderr, "config db cache_size error: %s\n", errmsg);

sqlite3_free(errmsg);

}

ret = db_sql_exec(db,"PRAGMA auto_vacuum = NONE;",&errmsg);

if(ret !=SQLITE_OK)

{

fprintf(stderr, "config db auto_vacuum error: %s\n", errmsg);

sqlite3_free(errmsg);

}

}

参考:

https://blog.csdn.net/tietao/article/details/6890350

https://www.runoob.com/sqlite/sqlite-pragma.html

http://www.it165.net/database/html/201310/4691.html

https://blog.csdn.net/zhaofuguang/article/details/91882073

四、centos sqlite3

CentOS中安装和使用SQLite3

SQLite是一种轻量级的嵌入式关系型数据库管理系统,适用于各种不同的应用程序。CentOS是一种流行的Linux发行版,因其稳定性和安全性而广受欢迎。本文将介绍如何在CentOS操作系统中安装和使用SQLite3。

1. 安装SQLite3

要在CentOS中安装SQLite3,可以通过yum包管理器进行安装。以下是安装SQLite3的步骤:

  1. 打开终端窗口。
  2. 运行以下命令以安装SQLite3:
yum install sqlite

安装完成后,您可以验证SQLite3是否成功安装,可以运行以下命令检查安装情况:

sqlite3 --version

2. 使用SQLite3

SQLite3提供了一个交互式的命令行界面,您可以使用该界面执行SQL查询和管理数据库。以下是一些常用的SQLite3命令:

  • .open database_name: 打开指定名称的数据库。
  • .tables: 列出当前数据库中的所有表。
  • .schema table_name: 显示指定表的架构。
  • SELECT * FROM table_name: 显示指定表中的所有数据。
  • CREATE TABLE: 创建新表。
  • INSERT INTO: 向表中插入新数据。

除了命令行界面外,您还可以在应用程序中使用SQLite3作为数据库。通过SQLite3提供的C API,您可以在C/C++程序中嵌入SQLite3数据库功能。

3. 示例应用程序

以下是一个简单的使用SQLite3的Python应用程序示例:


import sqlite3

# 连接到数据库(若不存在,则会在当前目录创建该数据库)
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 创建表
c.execute('''CREATE TABLE stocks
             (date text, trans text, symbol text, qty real, price real)''')

# 插入数据
c.execute("INSERT INTO stocks VALUES ('2022-01-05', 'BUY', 'GOOGL', 100, 1500.25)")

# 查询数据
c.execute("SELECT * FROM stocks")
print(c.fetchall())

# 关闭连接
conn.close()

这个简单的Python脚本创建了一个名为example.db的SQLite3数据库,并在其中创建了一个名为stocks的表,并插入了一条数据。您可以根据实际需求修改和扩展这个示例应用程序。

4. 总结

本文介绍了在CentOS操作系统中安装和使用SQLite3的方法,包括安装SQLite3软件包、通过命令行界面执行SQL查询、在应用程序中使用SQLite3等内容。SQLite3作为一种轻量级的数据库管理系统,在开发应用程序时具有很高的灵活性和适用性。希望本文能够帮助您更好地了解和使用SQLite3。

五、centos 安装sqlite3

sudo yum update

六、centos sqlite3安装

CentOS下SQLite3安装及配置详解

在进行CentOS系统开发时,有时会需要使用SQLite3数据库作为数据存储解决方案。SQLite3是一种轻量级的、基于文件的数据库,非常适合小型项目或移动应用程序的数据管理。本文将详细介绍在CentOS下安装和配置SQLite3数据库的步骤,帮助您快速上手并顺利完成相关开发工作。

安装SQLite3

首先,确保您的CentOS系统已连接到互联网,并具备sudo权限。接下来,打开终端,按照以下步骤安装SQLite3:

  1. 执行以下命令更新系统软件包列表:
  2. sudo yum update

  3. 然后运行以下命令安装SQLite3:
  4. sudo yum install sqlite

  5. 等待安装完成后,验证SQLite3是否成功安装:
  6. sqlite3 --version

配置SQLite3

安装完成后,接着需要配置SQLite3以确保其正常运行。以下是配置SQLite3的关键步骤:

  1. 创建新的SQLite数据库文件:
  2. sqlite3 mydatabase.db

  3. 在SQLite3提示符下,可以执行各种SQLite命令,例如创建表、插入数据等。
  4. 退出SQLite3控制台:
  5. .quit

使用SQLite3

现在您已经成功安装和配置了SQLite3,可以开始在CentOS系统上使用它了。以下是一些常用的SQLite3命令示例:

  • 打开特定数据库文件:
  • sqlite3 mydatabase.db

  • 显示表格列表:
  • .tables

  • 执行SQL查询:
  • SELECT * FROM table_name;

总结

通过本文的介绍,您应该已经掌握了在CentOS系统上安装、配置和使用SQLite3的基本步骤和技巧。SQLite3作为一种简单易用的数据库解决方案,将为您的项目带来便利和高效的数据管理能力。在实际开发中,结合SQLite3的灵活性和功能强大的SQL语法,您可以轻松实现各种数据操作需求。

七、centos sqlite3 安装

CentOS系统下安装SQLite3教程

SQLite3是一个轻量级的嵌入式关系型数据库管理系统,它在许多应用程序中被广泛使用。本教程将指导您如何在CentOS系统上安装SQLite3

步骤一:更新系统

在安装任何新软件之前,首先确保您的系统已经更新到最新版本。您可以通过以下命令来更新系统:

yum update

步骤二:安装SQLite3

安装SQLite3非常简单。您只需要运行以下命令:

yum install sqlite

安装过程可能需要一些时间,取决于您的系统配置和网络速度。

步骤三:验证安装

安装完成后,您可以通过运行以下命令来验证SQLite3是否成功安装:

sqlite3 --version

如果安装成功,您将看到SQLite3的版本信息。

其他注意事项

在实际使用中,您可能需要进一步了解如何配置和管理SQLite3数据库。SQLite官方网站提供了丰富的文档和教程,可以帮助您更好地利用这一强大的工具。

总的来说,在CentOS系统上安装SQLite3非常简单。遵循以上步骤,您将很快拥有一个可靠的数据库管理系统来支持您的应用程序开发。

八、java sqlite3使用方法?

java连接SQLite 代码如下:

Java代码

importjava.sql.*;

importorg.sqlite.JDBC;

/**

* 这是个非常简单的SQLite的Java程序,

* 程序中创建数据库、创建表、然后插入数据,

* 最后读出数据显示出来

*/

publicclass TestSQLite

{

publicstaticvoid main(String[] args){

try{

//连接SQLite的JDBC

Class.forName("org.sqlite.JDBC");

//建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之

Connection conn =DriverManager.getConnection("jdbc:sqlite:zieckey.db");

Statement stat = conn.createStatement();

stat.executeUpdate("create table tbl1(name varchar(20), salary int);");//创建一个表,两列

stat.executeUpdate("insert into tbl1values('ZhangSan',8000);");//插入数据

stat.executeUpdate("insert into tbl1values('LiSi',7800);");

stat.executeUpdate("insert into tbl1values('WangWu',5800);");

stat.executeUpdate("insert into tbl1values('ZhaoLiu',9100);");

ResultSet rs = stat.executeQuery("select * from tbl1;");//查询数据

while(rs.next()){//将查询到的数据打印出来

System.out.print("name = "+ rs.getString("name")+" ");//列属性一

System.out.println("salary = "+ rs.getString("salary"));//列属性二

}

rs.close();

conn.close();//结束数据库的连接

}

catch(Exception e ){

e.printStackTrace();

}

}

}

九、如何打开android的sqlite3?

1、在PC环境下启动一个模拟器(不是手机)

2、查看模拟器 /systen/xbin是否有sqlite3命令

adb shell

cd /system/xbin

ls

3、把模拟器 /system/xbin/sqlite3命令文件从模拟器拷到PC上

adb pull /system/xbin/sqlite3 e:/eclipse

4、关闭模拟器,把Android手机连接到PC

5、获取Android手机 /system 文件夹的读取权限

adb shell # mout -o remout, rw -t yaffs2 /dev/block/mtdblock3 /system(根据自己的设备网上很多人的设备是这个)

6、把PC上的e:/eclipse/sqlite3文件拷到Android手机的/system/xbin/目录下

adb push e:/sqlite3 /system/xbin

若是提示permission denial

adb shell

chmod 777 system/

cd system

chmod 777 xbin

然后执行上面的 push

若是还是不行就直接 到eclipse DDMS filter explore 下面 /system/xbin

把所用的数据直接从电脑上拖到 /system/xbin 下面

7、修改Android真机/system/xbin/sqlite3命令的权限

adb shell

chmod 4755 /system/xbin/sqlite3

然后输入sqlite3

进入到sqlite就可以了。

十、sqlite3怎么查询字段类型?

Sqlite v3数据库中的任何列,除了整形主键列,可以用于存储任何一个存储列的值。sql语句中的中所有值,不管它们是嵌入在sql文本中或者是作为参数绑定到一个预编译的sql语句,它们的存储类型都是未定的。在下面描述的情况中,数据库引擎会在查询执行过程中在数值(numeric)存储类型(INTEGER和REAL)和TEXT之间转换值。1.1布尔类型Sqlite没有单独的布尔存储类型,它使用INTEGER作为存储类型,0为false,1为true1.2 Date和Time DatatypeSqlite没有另外为存储日期和时间设定一个存储类集,内置的sqlite日期和时间函数能够将日期和时间以TEXT,REAL或INTEGER形式存放l TEXT 作为IS08601字符串("YYYY-MM-DD HH:MM:SS.SSS")

l REAL 从格林威治时间11月24日,4174 B.C中午以来的天数

上一个下一篇:娃衣钩织教程?

下一个上一篇:返回栏目