Pysqlite是针对Windows用户设计的一款Python API接口,安装之后就可以进行数据库的连接、创建和管理,可以将sqlit的操作变得简单起来,详细的操作方法参见下文,需要的朋友赶快下载吧!

pysqlite是一个sqlite 为 python 提供的 api 接口,它让一切对于 sqlite 的操作都变得异常简单。

sqlite,它是一个嵌入式数据库,没有服务器的概念,windows版的就是一个exe,自己把它放到一个合适的目录里,然后把这个目录加入系统的path变量.

软件特点

1、用db.connect()创建数据库连接,连接对象为conn。

2、如果不需要返回查询结果,就直接调用conn.execute()。

3、如果需要返回查询结果,则需要首先通过conn.cursor()创建游标对象cur,并使用cur.fetchone()等函数获取查询结果。

4、根据数据库隔离级别的不同,修改数据库后,可能需要使用conn.commit()手动提交事务。

5、调用相应的close()方法关闭cur及conn。

Pysqlite使用说明

1. 首先导入sqlite3模块

import sqlite3

2. 接着创建数据库链接

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

其中"test.db"是数据库的名称,如果数据库文件不存在,就会自动创建;否则,就打开指定的数据库文件,同时创建一个数据库连接对象,该对象主要有以下操作:

commit(): 事务提交

rollback(): 事务回滚

close(): 关闭一个数据库连接

cursor(): 创建一个游标

其中,commit()方法用于提交事务,rollback()方法用于回滚至上次调用commit()方法的地方。可以通过Connection.isolation_level定义事务隔离级别,当该属性设置成None时,它会自动提交事务,不需要显式地调用commit()方法。

除了直接指定数据库文件之外,还有一种方法是在内存中创建数据库。方法是将":memory:"作为参数传递给sqlite.connect()函数:

conn = sqlite3.connect(":memory:")

3. 接下来就需要创建游标对象

cur = conn.cursor()

从网上找到一个关于游标的具体解释(来源):

游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联。因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。

游标对象主要包含以下方法:

execute(): 执行sql语句

executemany(): 执行多条sql语句

close(): 关闭游标

fetchone(): 从结果中取一条记录

fetchmany(): 从结果中取多条记录

fetchall(): 从结果中取出所有记录

注:为了提高编程效率,PySqlite中的Connection对象同样包含execute()等函数,通过使用这些函数,可以避免创建游标对象,具体可以参考PySqlite的文档说明:点击这里,下面的例子来自前面的文档,介绍如何使用这些方法:

import sqlite3

persons = [

("Hugo", "Boss"),

("Calvin", "Klein")

]

con = sqlite3.connect(":memory:")

# Create the table

con.execute("create table person(firstname, lastname)")

# Fill the table (这里使用PySqlite提供的占用符格式,提高安全性)

con.executemany("insert into person(firstname, lastname) values (?, ?)", persons)

# Print the table contents (使用迭代的方法获取查询结果)

# con.execute(..)方法返回游标对象,避免手动创建游标对象。

for row in con.execute("select firstname, lastname from person"):

print row

print "I just deleted", con.execute("delete from person").rowcount, "rows"

4. 通过execute()方法执行一条sql语句

SQLite中sql语句在语法格式,参考这里。

例如使用create table创建数据库表格:

cur.execute('''create table stocks (

date text,

trans text,

symbol text,

qty real,

price real)''')

表格创建之后,可以使用insert语句插入数据:

cur.execute("""insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)""")

5. 提交事务

conn.commit()

6. 关闭游标及数据库链接,释放资源

cur.close()

conn.close()Pysqlite使用:

在数据库建立中Windows与Linux也有不同

XP版本:sqlite3.exe test.db

Linux版本:./sqlite3.bin test.db

目前针对不同的python版本,pysqlite有3个版本:2.5和2.6 、2.7,请根据自己的python版本选用.

3.然后就可以打开自己喜欢的编辑器,写一段测试代码了.

4.中文处理要注意的是sqlite默认以utf-8编码存储.

5.另外要注意sqlite仅支持文件锁,换句话说,它对并发的处理并不好,不推荐在网络环境使用,适合单机环境;

import pysqlite2.dbapi2 as sqlite

def runTest():

cx = sqlite.connect('test.db')

cu = cx.cursor()

#create

cu.execute('''create table catalog(

id integer primary key,

pid integer,

name varchar(10) unique

)''')

#insert

cu.execute('insert into catalog values(0,0,"张小山")')

cu.execute('insert into catalog values(1,0,"hello")')

cx.commit()

#select

cu.execute('select * from catalog')

print '1:',

print cu.rowcount

rs = cu.fetchmany(1)

print '2:',

print rs

rs = cu.fetchall()

print '3:',

print rs

#delete

cu.execute('delete from catalog where id = 1 ')

cx.commit()

cu.execute('select * from catalog')

rs = cu.fetchall()

print '4:',

print rs

#select count

cu.execute("select count(*) from catalog")

rs = cu.fetchone()

print '5:',

print rs

cu.execute("select * from catalog")

cu.execute('drop table catalog')

if __name__ == '__main__':

runTest()

python 嵌入式数据库_Pysqlite下载 Pysqlite for Windows v2.6.3(嵌入式数据库python api 接口) 下载-脚本之家...相关推荐

  1. l2行情数据api接口下载

    l2行情数据api接口下载第一步,新建一个"上市一年以上"的自定义板块. 我们首先需要建立一个排除上市时间不足一年股票的板块.这个板块取名为:上市一年以上.通达信软件的菜单-工具- ...

  2. python爬虫实战(一)~爬取百度百科人物的文本+图片信息+Restful api接口

    我的github地址:https://github.com/yuyongsheng1990/python_spider_from_bdbaike # -*- coding: UTF-8 -*- # @ ...

  3. python实现api接口的脚本_Zabbix批量添加主机,Python调用api接口方式【脚本定制】...

    使用说明: 此脚本使用方法,详细步骤如下(不清楚的可以加我微信或QQ咨询) 脚本默认添加内容如excel模板所示:主机名.显示名.IP地址.所属组.所属模板1.所属模板2(如需要添加其他内容如: 多个 ...

  4. python爬虫beautifulsoup爬当当网_Python爬虫包 BeautifulSoup 递归抓取实例详解_python_脚本之家...

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到 ...

  5. 流程图软件lauto_Iauto免费版下载|Iauto(流程图软件) v2.6.0官方版 - 万方软件下载站...

    Iauto是一款非常好用的流程图软件,用户可以使用该软件进行流程图的绘画的查看,该软件能够支持多种业务的流程图,也能够画线框图,思维导图.流程图等等都可以轻松搞定,是一款非常好用且方便的软件! [功能 ...

  6. PHP各大音乐平台API接口下载,PHP各大音乐平台API接口

    帮助: 标红 为 音乐 ID,下划线 表示 音乐地址 蜻蜓 FM 的音乐 ID 需要使用 | (管道符) 组合,例如 158696|5266259 全民 K 歌的音乐名称请输入 shareuid,这是 ...

  7. python3项目源代码下载_2019年最值得关注的34个Python开源项目——Let's go!

    踏着人工智能.区块链的东风,近年来一路"横冲直撞"的 Python 在实现了从小众语言到主流的完美转身后,一头扎进了 2019,依旧没有透出丝毫停下来的架势,反倒有些越烧越热的味道 ...

  8. Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated May 2023)

    Windows 11 22H2 中文版.英文版 (x64.ARM64) 下载 (updated May 2023) Windows 11, version 22H2 官方原版,2023 年 5 月 更 ...

  9. Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Jun 2023)

    Windows 11 22H2 中文版.英文版 (x64.ARM64) 下载 (updated Jun 2023) Windows 11, version 22H2 官方原版,2023 年 6 月 更 ...

最新文章

  1. windows下将iso文件挂载到文件夹
  2. Iso时间转java instant,在java.util.Date和java.time.Instant之间转换古代日期时的差异
  3. 运动会成绩管理java代码_基于jsp的运动会成绩管理-JavaEE实现运动会成绩管理 - java项目源码...
  4. 微信小程序下拉刷新/上拉加载更多
  5. 盘点大型分布式网站术语
  6. glibc交叉编译_TSN之linuxptp交叉编译
  7. 多线程导出excel高并发_怎么理解分布式、高并发、多线程
  8. pve安装黑群晖直通硬盘_蜗牛星际装机教程篇三:手把手教你安装黑群晖NAS
  9. 【Kettle】血统分析
  10. 计算机中丢失mplugin.dll,安装MathType时提示缺少Mplugin.dll文件
  11. 黑马程序员——递归与枚举
  12. 我只会SQL,到底能不能找到工作?
  13. python filelock 文件锁_详解进程文件锁FileLock
  14. 【日常学习】使用anaconda管理环境并安装cuda和cudnn和tensorflow
  15. Output输出缓存区大小只有1024KB,超过大小限制的就会被清除
  16. 任性安装苹果应用,安装包在手天下我有
  17. Python爬虫进阶之爬取篮球赛数据
  18. centos打显卡驱动命令_centos7系统,显卡驱动安装教程
  19. html中怎么设置input的背景颜色,css里我们选中一个div里的一个input设置背景色
  20. 亚马逊云服务(AWS)中国宁夏及北京区域正式上线Amazon SageMaker

热门文章

  1. 多线程上下文切换优化与注意
  2. DIV 粘贴插入文本或者其他元素后,移动光标到最新处
  3. mpAndroidchart 坐标和图表距离_数据对比图表,如何让你的总结报告更具说服力!...
  4. Ubuntu安装minicom串口工具
  5. Android Studio NDK报错:mips64el-linux-android-strip 找不到
  6. linux 编译ffmpeg 支持x264, x265
  7. prolog参考手册学习(第一章)
  8. typescript之nodejs开发
  9. idea怎么调试jsp页面_一文学会JSP
  10. 什么是LAMP?LAMP有什么优势?