python 数据库驱动开发实例_Python开发基础

数据库连接

通过编写 connect.py 连接到数据库

import pysequoiadb

from pysequoiadb import client

# 使用默认的端口连接到数据库

host = 'localhost'

port = 11810

# 当数据库已经创建用户时,应该使用正确的用户及密码连接到数据库

# user= '', password= ''

db = client(host, port)

print 'Connect success'

db.disconnect()

Note:

本示例连接到本地数据库的 11810 端口,使用的是空的用户名和密码。用户可以根据实际情况配置参数。例如:将上述代码中的 db = client() 修改为 db = client('192.168.10.188', 11810)。

创建集合空间和集合

# 连接至数据库

db = client("localhost", 11810)

# 创建集合空间

cs_name = 'sample'

cs = db.create_collection_space(cs_name)

# 创建集合

cl_name = 'employee'

cl = cs.create_collection(cl_name)

用户创建集合后,可对集合做增删改查等操作

插入数据

# 创建 dict 对象

record = {"name":"Tom", "age":24}

oid = cl.insert ( record )

record 为输入参数,输入需要插入的数据。dict 对象将会被转换成 bson 插入到集合中。oid 是插入该记录时,返回的 bson 结构的 objectid。

查询

查询操作需要一个游标对象存放查询的结果到本地。要获得查询的结果需要使用游标操作。本示例使用了游标操作的 next 接口,表示从查询结果中取到一条记录。

import pysequoiadb

from pysequoiadb import client

from pysequoiadb.error import SDBEndOfCursor

cr = cl.query()

while True:

try:

record = cr.next()

print(record)

except SDBEndOfCursor:

break

cr.close()

索引

集合对象 collection 中创建一个以“name”为升序、“age”为降序的索引

index_name = "index_name"

idx = OrderedDict([('name', 1), ('age', -1)])

cl.create_index ( idx, index_name, False, False )

更新

在集合对象 collection 中更新了记录

rule = {"$set":{ "age":19}}

print rule

cl.update( rule )

示例中没有指定数据匹配规则,所以将更新集合中的所有记录。

错误处理

调用 API 遇到的异常时,python 驱动会将异常直接抛出。可以选择捕获异常,并打印异常信息或是进行一些其他操作。SDBBaseError 异常是基础异常,异常主要包含 errcode、detail 和 error_object。异常的详情可以查询 Python API。示例如下:

try:

cl = db.get_collection("sample.employee")

condition = {"_id":{"$oid":"5d035e2bb4d450b04fcd0dff"}}

cl.delete ( condition=condition )

except SDBBaseError as e:

print(e)

异常信息如下:

SDB_INVALIDARG(-6), Invalid Argument, detail: Failed to delete

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值