Sqlite参考手册

-- - 安装

大家在使用那个程序的时候, 是可以把 模块跟 进行对接联合的。这个具体的功能是靠用 写代码来实现完成的。它给开发者送来了一个能够符合 PEP 249 规定里面关于 DB-API 2.0 标准要求的 SQL应用接口工具。

至于安装的事情呢, 你完全不用自己去单独下载弄一个该模块。因为只要你用的那个软件的版本是在 2.5.x 以上的范畴之内的话, 这个对应的功能东西就已经在默认情况下被内置好并且准备好了。

为了使用这个模块的情况, 您首先必须得去做一点事情, 那就是创建一个连接对象, 而这个连接对象, 它是用来表示数据库的连接的, 然后, 您也可以去选择性地创建一下光标对象, 这玩意能够帮到您, 它有帮助您来执行那些所有的 SQL 语句的功能。

模块 API

这是有关键性的模块程序, 可以满足您在程序中使用数据库的要求, 如果要了解更多细节, 请查看模块的官方文档。

序号, API和描述。

.(

, ,other

该API是打开了一个到那个数据库文件的链接。咱们能够使用那两个冒号, 来在那些随机访问存储器中打开一个到那个数据库的连接, 而不是去在那些磁盘上打开。要是说那个数据库被成功打开了, 那么它就会返回出来一个连接对象。

当一个数据库被多个连接同时访问, 并且其中某一个连接修改了数据库内容的时候, 这时候数据库会被锁住, 一直持续到那个事务被提交为止。

有一个参数表示了连接等待这个锁定状态的持续时间, 如果时间超过了设定的阈值, 就会导致发生异常, 从而断开连接。这个参数的默认数值是 5.0 , 其含义代表的是 5 秒。

如果用户提交的数据库名称是不存在的那个东西的话, 那么这个调用动作就会去弄出一个新的数据库出来。

要是你这个人压根就不想让这个新出炉的数据库出现在你当前站着的这个地方, 或者说当前正在用的那个文件夹里头的话, 那你就完全可以去指明一个带着具体路劲指示的名字, 通过这个办法, 你就能把那个数据库给放到任何你想要去安置它的位置上面去了。

.(

该例程会创建一个对象, 这个对象以后在数据库编程的时候会被用到。这个方法呢, 它接受一个可选参数, 但是这个参数数量上只能是有一个。如果你提供了这个参数那么你必须保证这个参数是一个类, 而且这个类还得是自定义的, 并且它的父类或者是它扩展的那个类, 必须是那个特定的基类。

.(sql

,

这个过程是用来执行一条 SQL 语句的。那条 SQL 语句可以使用参数化的方式, 也就是使用占位符来代替原本文本的內容。该模块是支持有两种类型占位符的。这两种类型分别是问号以及命名占位符, 后者指的是命名样式的方式。

比如说: ("into(??)",(who,age))。

.(sql

,

这个步骤是上面执行的那个由光标对象来提供的方法的一种简便做法。具体来说, 它是先调用了光标的创建方法, 进而生成了一个暂时存在的光标对象。接着, 又拿准备好的参数去调用这个临时生成的光标所具有的相关功能操作。

这是一个有关数据库查询语言的标记。

在这个示例里, 会对所有的参数或者是映射的东西, 执行一个叫做 SQL 的命令, 就这样做。

.(sql

,

这个例程是一个快捷方式, 这个快捷方式使用那个由调用光标方法所创建的中间的光标对象, 并且通过把给定的参数传递过去的方式去调用光标的相应的方法。

.()

这个例行程序在接收到了脚本之后的时候, 它要去执行多个不同的 SQL 语句, 而且它执行的顺序是首先要去执行对应的语句, 其次要去执行被作为参数传入的那个 SQL 脚本, 同时要注意, 所有的这些 SQL 语句之间, 都必须用分号也就是那个符号;来进行分隔处理。

.()

这个例程是一个快捷方式, 这个快捷方式使用那个由调用光标方法所创建的中间的光标对象, 并且通过把给定的参数传递过去的方式去调用光标的相应的方法。

.()

这一例程会返回一个数字, 这个数字代表从你打开那个数据库连接开始算起, 到现在为止总共有多少行数据被改过、被新增进去或者被删除了。

10

mit()

该方法被用来提呈当前这个事务。如果你不去调用这个方法, 那么, 从你上一次调用()这一时刻开始, 一直到现在的这段时间内, 你所进行的所有操作, 对于其他的数据库连接而言, 都是无法被看见的。

11

.()

这个方法会把数据库里头, 从咱们上次去调用那个没有名字的()操作到现在为止, 这期间所有改动的地方, 全部都撤销回去。

12

.close()

使用该方法可以将数据库连接关闭。需要大家特别注意一件事情, 这就是它并不会自动去调用括号里面那个东西。要是您在前面的时候, 没有去调用括号里的那个方法。然后就急着把数据库连接给关掉了的话。那么你刚才所做的所有修改内容, 都会因为没有保存而彻底丢失掉的。

13

.()

该办法从查询得出的结果里面去拿接下来那一行的内容, 然后把它弄成一个单独的序列, 要是发现后面再也拿不出更多的数据来用的时候, 它就返回 None。

14

.(

size=.

该方法用于获取查询结果集中的一行组, 也就是返回一个列表。如果此时已经没有更多可用的数据行可供提取, 就会返回一个空列表。在执行操作的过程中, 该方法会尽量去获取由参数 size 所指定数量的那么多行记录。

15

.()

这个例程会获取查询结果集里面所有的那些,也就是剩余的这些行, 然后把这个东西返回成一个列表, 要是说当没有可用的行的时候, 那么就会说返回一个空白的列表。

连接数据库

下面的这部分代码, 它会显示出是怎么去连接到一个已经存在的数据库里面去的。如果说这个数据库本身是不存在的, 那么就会在过程中把它给创建出来, 到最后一步的时候, 它就会返回一个表示那个数据库的对象给你。

prettyprint 复制代码

#!/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')

print "Opened database successfully"

在这里, 您也是可以把数据库的名称复制过来, 然后给它一个特定的名称, 这样做的话, 就会在随机存取存储器当中创建一个这样的数据库了。现在, 我们就去运行上面写好的那个程序, 在这个当前的目录里面创建我们的数据库文件, 这个文件的名字是 test.db。

当然啦, 您要是觉得有必要的话, 您也是可以改变这个路径的。接下来, 请您把上面那些代码保存到一个后缀名为 .py 的文件里面, 并且按照下面这样子的方式来执行它。如果您的数据库确实是成功创建成功了的话, 那么, 您的屏幕上肯定会显示出下面这一段消息:

66

创建表

接下来的那段代码, 它会被拿来用, 其目的呢, 是为了在您前面已经建好的那个数据库里, 去创建出一个新的表来。

3a

上面的程序在运行阶段, 它会先在名为 test.db 的数据库文件当中创建一个表格, 之后会显示出在下面这个地方所展示出来的那些提示信息内容。

操作

接下来的这个程序会向大家展示如何在这个表里面去创建一条记录, 而这个表是之前我们已经建立好了的。

8b

当上述程序被运行的时候, 它会在对应的表格里把指定的这条信息给它加进去, 同时呢, 屏幕上还会显示出下面这写好的两行字:

result 复制代码

Opened database successfully

Records created successfully

操作

下面的这个程序, 它展示了怎么样去从前面的那个已创建的表里面获取数据, 并且把那些记录给显示出来:

54

这个程序在进行运行的时候, 那么他就会去产生下面这些结果, 也就是以下这些东西。

result 复制代码

Opened database successfully

ID = 1

NAME = Paul

ADDRESS = California

SALARY = 20000.0

ID = 2

NAME = Allen

ADDRESS = Texas

SALARY = 15000.0

ID = 3

NAME = Teddy

ADDRESS = Norway

SALARY = 20000.0

ID = 4

NAME = Mark

ADDRESS = Rich-Mond

SALARY = 65000.0

Operation done successfully

操作

下面的代码部分展示了具体的操作流程, 它首先利用相关的语句完成了对任意记录的更新动作, 紧接着会从数据表中提取出那些已经被更改了的记录信息, 并最终把这些数据显示出来。

prettyprint 复制代码

#!

/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')

c = conn.cursor()

print "Opened database successfully"

c.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")

conn.commit()

print "Total number of rows updated :", conn.total_changes

cursor = conn.execute("SELECT id, name, address, salary from COMPANY")

for row in cursor:

print "ID = ", row0

print "NAME = ", row1

print "ADDRESS = ", row2

print "SALARY = ", row3, "\n"

print "Operation done successfully"

conn.close()

这个程序在进行运行的时候, 那么他就会去产生下面这些结果, 也就是以下这些东西。

58

操作

下面的代码显示了如何使用删除语句来删除任何记录, 然后从表中获取剩余的记录, 接着把剩余的记录显示出来。

67

这个程序在进行运行的时候, 那么他就会去产生下面这些结果, 也就是以下这些东西。

33

--

相关推荐
隔窗听雨眠31 分钟前
Oracle日志体系分层结构与故障定位路径
数据库·oracle·故障排查
为思念酝酿的痛39 分钟前
C语言操作MySQL
数据库·mysql
用户019027581611 小时前
A 股到价提醒机器人:AlphaFeed + 飞书/钉钉 Webhook
python
ShineWinsu1 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
特立独行的猫A1 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
高洁011 小时前
数据同化与动态状态估计:让孪生持续贴合现实
人工智能·python·深度学习·transformer·迁移学习
通信仿真爱好者2 小时前
第【139】期--基于深度学习的OFDM信道估计方法研究--python完整代码
python·深度学习·ofdm·信道估计
威哥爱编程2 小时前
模拟面试智能体开发实战 07:答完一题就点评一题,结构化输出给分建议,让每道题都变成复盘
python·agent·harmonyos
cpolar技术支持2 小时前
中文文件名排序跟拼音对不上:os.listdir 返回的是文件系统顺序,三个中文名按字节排结果正好相反
python·文件系统·cpolar·编码·排序