PySqlite简明教程ITeye - 威尼斯人

PySqlite简明教程ITeye

2019-01-12 14:46:05 | 作者: 瀚文 | 标签: 数据库,能够,一个 | 浏览: 386

PySqlite的主页地址: 上面有关于运用PySqlite的文档

一、装置

去PySqlite主页上下载装置包,有windows的版别,现支撑  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 主页上检查。不过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支撑的数据类型,在它主页上面的文档中有描绘,能够参阅:

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主页:

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章