python和多个数据库的连接

1、mongodb连接数据库

import pymongo

#连接数据库
client = pymongo.MongoClient('localhost')
#连接指定数据库
db = client['shop']
#指定goods 集合
result = db['goods'].find()
ww = db['goods'].insert_one({'a':'qw'})
aa = db['test'].insert_many([{'a':'qw'},{'a':'qw'}])
# print(ww)  #
print(result) #
for i in result: #需要遍历才能拿到每条document的信息
    print(i)

2、连接redis数据库

	
	import redis

#开启一个链接
rd = redis.Redis()

#建立连接池,为多个用户开启好链接,用户直接拿,用完放回
red_pool = redis.ConnectionPool(host='localhost',port=6379,db=4)
rds = redis.Redis(connection_pool=red_pool)

r = rd.set('test1',1)
print(r) #插入成功返回 1 就是True

g = rd.get('test1') #返回b'1  二进制,,需要解码
print(g.decode('utf-8'))

	

3、python 和 mysql连接

import pymysql

#与mysql数据库建立链接,加cursorclass=pymysql.cursors.DictCursor每条数据返回的是字典类型,不加是元组类型
db = pymysql.connect(host='127.0.0.1',user='root',password='123456',database='hei',port=3306,cursorclass=pymysql.cursors.DictCursor)

#创建游标对象
cursor = db.cursor()
re = 'select * from user'
#插入数据
# ins = 'insert into user (id,name) values(null,"q")'
#cursor.execute(ins)
# db.commit()
#循环插入数据
for i in range(97,123):
    ins = 'insert into user (id,name) values(null,%s)'
    excu = cursor.execute(ins,[str(chr(i))])
    db.commit()
#执行命令
# cursor.execute(ins)
r = cursor.execute(re)
print(r)
# f = cursor.fetchall() #[{'id': 6, 'name': 'c'},{'id': 7, 'name': 'r'}] 多条数据 列表类型
#  ((6, 'c'), (9, 'd'), (11, 'q'), (8, 'v'), (4, 'w'), (1, '星期八'))
d = cursor.fetchone()  #{'id': 6, 'name': 'c'}一台数据字典类型  (6, 'c')
# print(f)
print(d)
#执行插入 更新修改 删除 命令需要提交
db.close()

TypeError: %d format: a number is required, not str 如果报这个错误,是因为port值加了引号

你可能感兴趣的:(python和多个数据库的连接)