`
netcome
  • 浏览: 482536 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PySqlite简明教程

阅读更多

PySqlite的主页地址:http://pysqlite.sourceforge.net/ 上面有关于使用PySqlite的文档

一、安装

去PySqlite主页上下载安装包,有windows的版本,现支持 Python 2.2和2.3版本。

二、创建数据库/打开数据库

Sqlite使用文件作为数据库,你可以指定数据库文件的位置。

>>> import sqlite
>>> cx = sqlite.connect(“d:/test.db”, encoding=’cp936′)

使用sqlite的connect可以创建一个数据库文件,上面我指明了路径。当数据库文件不存在的时候,它会自动创建。如果已经存在这个文件,则打开这个文件。encoding指明保存数据所使用的编码,这里cp936是 Python 中自带的编码,其实就是GBK编码。cx为数据库连接对象。

三、操作数据库的基本对象

3.1 数据库连接对象

象前面的cx就是一个数据库的连接对象,它可以有以下操作:

  • commit()–事务提交
  • rollback()–事务回滚
  • close()–关闭一个数据库连接
  • cursor()–创建一个游标

 3.2 游标对象

所有sql语句的执行都要在游标对象下进行。

cu = cx.cursor()

这样定义了一个游标。游标对象有以下的操作:

  • execute()–执行sql语句
  • executemany–执行多条sql语句
  • close()–关闭游标
  • fetchone()–从结果中取一条记录
  • fetchmany()–从结果中取多条记录
  • fetchall()–从结果中取出多条记录
  • scroll()–游标滚动

关于对象的方法可以去 Python 主页上查看DB API的详细文档。不过PySqlite到底支持DB API到什么程序,我就不知道了。我列出的操作都是支持的,不过我不是都使用过。

四、使用举例

4.1 建库

前面已经有了,不再重复。(这些例子,如果你有兴趣,可以直接在Python的交互环境下试试)

4.2 建表

>>> cu=cx.cursor()
>>> cu.execute(“”"create table catalog (
   id integer primary key,
   pid integer,
   name varchar(10) UNIQUE
  )”"”)

上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的。

关于sqlite支持的数据类型,在它主页上面的文档中有描述,可以参考:Version 2 DataTypes 

4.3 insert(插入)

>>> cu.execute(“insert into catalog values(0, 0, ‘name1′)”)
>>> cu.execute(“insert into catalog values(1, 0, ‘hello’)”)
>>> cx.commit()

如果你愿意,你可以一直使用cu游标对象。注意,对数据的修改必须要使用事务语句:commit()或rollback(),且对象是数据库连接对象,这里为cx。

4.4 select(选择)

>>> cu.execute(“select * from catalog”)
>>> cu.fetchall()
[(0, 0, 'name2'), (1, 0, 'hello')]

fetchall()返回结果集中的全部数据,结果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。注意,游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意。

>>> cu.execute(“select * from catalog where id = 1″)
>>> cu.fetchone()
(1, 0, ‘hello’)

对数据库没有修改的语句,执行后不需要再执行事务语句。

4.5 update(修改)

>>> cu.execute(“update catalog set name=’name2′ where id = 0″)
>>> cx.commit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchone()
(0, 0, ‘name2′)

4.6 delete(删除)

>>> cu.execute(“delete from catalog where id = 1″)
>>> cx.commit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchall()
[(0, 0, 'name2')]

以上是关于如何使用PySqlite来操作Sqlite的简单示例。

五、后记

以上都是可以在交互环境下可以运行的,有兴趣可以试一试。现在Sqlite已经升级到3.0.2(beta)了。在我写上一个Blog的时候,我下载的还是2.8.13,变化挺大的了。而且它的主页也进行了改版。

sqlite主页:http://www.sqlite.org/

分享到:
评论

相关推荐

    PyPI 官网下载 | pysqlite-2.5.6.tar.gz

    资源来自pypi官网。 资源全名:pysqlite-2.5.6.tar.gz

    pysqlite-2.5.5.tar.gz

    《pysqlite-2.5.5:Python与SQLite数据库的桥梁》 在信息技术领域,数据库管理和数据存储是至关重要的部分。SQLite是一个轻量级、自包含的数据库引擎,广泛应用于移动应用、嵌入式系统以及作为服务器端数据库的替代...

    pysqlite-2.8.1

    《pysqlite-2.8.1:Python与SQLite数据库的桥梁》 在Python的世界里,pysqlite是一个至关重要的库,它为Python程序提供了与SQLite数据库交互的能力。标题“pysqlite-2.8.1 for linux”揭示了我们讨论的是pysqlite的...

    pysqlite that used for python

    根据提供的文件信息,我们可以了解到这是关于“pysqlite”这一Python SQLite封装库的相关内容。下面将详细介绍该知识点。 ### pysqlite简介 pysqlite是一个为Python设计的SQLite数据库API接口封装库。它允许Python...

    pysqlite-2.4.1.win32-py2.4

    《关于pysqlite-2.4.1.win32-py2.4及其在Trac中的应用》 在IT行业中,数据库管理系统是支撑各种应用程序运行的重要基石,而SQLite作为一个轻量级、无服务器、自包含的SQL数据库引擎,因其高效、便捷的特性,被广泛...

    pysqlite-2.6.3

    **pysqlite-2.6.3:Python与SQLite数据库的桥梁** `pysqlite-2.6.3`是一个针对Linux操作系统的Python模块,它为Python编程语言提供了与SQLite数据库交互的功能。SQLite是一个轻量级、嵌入式的关系型数据库,广泛...

    pysqlite3.txt

    该文件包含了SQL语法基础,SQLite3支持的数据类型,windows 如何安装sqlite3,PyQt界面实现中常用的消息弹出对话框、提供用户输入的输入框、打开文件获取文件/目录路径的文件对话框。

    pysqlite-2.4.1.win32-py2.4.exe

    TRAC python24 支持pysqlite-2.4.1.win32-py2.4.exe

    pysqlite-2.4.1.win32-py2.5.exe

    pysqlite-2.4.1.win32-py2.5

    pysqlite-2.6.3.win32-py2.7

    pysqlite-2.6.3.win32-py2.7

    pysqlite-2.5.6.win32-py2.4

    首先是python的版本选择问题,虽然python2.5已经出了很久...trac使用sqlite来做后端存储,所以你还需要pysqlite-2.3.4.win32-py2.4.exe,如果你还想用trac的svn browser功能,你还需要svn-python-1.4.4.win32-py2.4.exe

    Python库 | pysqlite3tool-0.0.1a0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:pysqlite3tool-0.0.1a0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    文件数据库sqlite与pysqlite(python)

    SQLite是一种轻量级的、自包含的、无服务器的、SQL型数据库引擎,它被广泛应用于各种嵌入式系统和应用程序中。Python则提供了一个名为`sqlite3`的内置库,使得开发者能够方便地在Python程序中操作SQLite数据库。...

    pysqlite-2.8.3-cp27-cp27m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl...

    pysqlite-2.8.3-cp27-cp27m-win32

    pysqlite-2.8.3-cp27-cp27m-win32

    pysqlite-2.8.3-cp27-cp27m-win_amd64

    pysqlite-2.8.3-cp27-cp27m-win_amd64

    以SQLite和PySqlite为例来学习Python DB API

    本教程将通过SQLite和它的Python绑定库PySqlite(在Python 2.5及以后版本中被集成为sqlite3模块)来学习Python DB API的基本使用。 首先,我们来看如何创建一张表。在Python中,我们可以使用`sqlite3`模块来建立...

    pysqlite-2.8.3-cp27-cp27m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl...

    PyPI 官网下载 | sqlite3_api-1.0.0.tar.gz

    标题中的"PyPI 官网下载 | sqlite3_api-1.0.0.tar.gz"指出这是一个从Python Package Index (PyPI) 官网上获取的软件包,名为`sqlite3_api`,版本为1.0.0,且以tar.gz格式压缩。PyPI是Python开发者发布和分享自己开发...

Global site tag (gtag.js) - Google Analytics