SQLLite (一)基本介绍

随着云和mobile设备的流行,SQLite作为一款开源的轻量级数据库也被越来越广泛地应用。从HTML5到android,ios和win8为代表的mobile平台都对它提供了天然的支持与整合。因此对SQLite的学习也就显得非常重要。从本文开始的一系列文章将展开对sqllite的介绍。

SQLite是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。

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

SQLite,作为一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLite 是一种轻量级的关系型数据库管理系统,它并不能直接用来定义变量。不过,你可以使用 SQLite 中的参数(parameter)来实现类似定义变量的效果。 参数是一个有名字的占位符,你可以在 SQL 语句中使用参数来代替实际的值。在 SQLite 中,使用冒号(:)来表示一个参数。例如,下面的 SQL 语句中就使用了一个参数: ``` SELECT * FROM users WHERE id = :user_id; ``` 在执行这个 SQL 语句之前,你需要先将参数传入。在 Python 中,你可以使用 SQLite 提供的 execute() 方法来执行 SQL 语句,并将参数传入: ```python import sqlite3 conn = sqlite3.connect('example.db') cursor = conn.cursor() user_id = 1 cursor.execute("SELECT * FROM users WHERE id = :user_id", {"user_id": user_id}) results = cursor.fetchall() # 处理查询结果 for row in results: print(row) # 关闭连接 conn.close() ``` 在这个例子中,我们首先连接到了一个名为 example.db 的 SQLite 数据库,然后创建了一个光标(cursor)对象,用于执行 SQL 语句。接着,我们定义了一个名为 user_id 的变量,并将其设为 1。最后,我们执行了一个 SELECT 语句,并将 user_id 作为参数传入。执行完毕后,我们可以使用 fetchall() 方法来获取查询结果,并对其进行处理。 需要注意的是,在使用参数时,你需要将参数名以及对应的值作为一个字典传入 execute() 方法。如果你使用的是 Python 3.6 及以上版本,还可以使用 f-string 来方便地构建带有参数的 SQL 语句,例如: ```python user_id = 1 cursor.execute(f"SELECT * FROM users WHERE id = {user_id}") ``` 但是,这样做可能会导致 SQL 注入攻击,因此不建议使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值