python连接三大主流数据库(mysql、redis、mongoDB)

举报
徐同学呀 发表于 2022/02/22 23:57:47 2022/02/22
【摘要】 python连接mysql 用python操作mysql,你必须知道pymysql 代码示意: import pymysql conn = pymysql.connect(host='127.0.0...

python连接mysql

用python操作mysql,你必须知道pymysql
代码示意:

import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123', db='pydb', charset='utf8')
print(conn)# <pymysql.connections.Connection object at 0x0000029B3F9B6470>
打印出此信息说明python连接mysql成功。
  
 
  • 1
  • 2
  • 3
  • 4

mysql的连接信息也可以放到一个字典里,connect()传参时传入字段。

import pymysql
sqlArgs={
    'host':'127.0.0.1',
    'port':3306,
    'user':'root',
    'passwd':'123',
    'db':'pydb',
    'charset':'utf8'
}
conn=pymysql.connect(**sqlArgs)
print(conn)##<pymysql.connections.Connection object at 0x0000029B3F9B6470>
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

自此mysql已经连上,接下来我们就开始简单操作数据库了。

操作数据库我们无非是对数据表进行增删改查。

做这些之前必须要建立游标。

cursor=conn.cursor()#建立游标
row=cursor.execute('show databases')#execute()执行sql语句

#通过fetch抓取游标里取出来的数据。
data=cursor.fetchone()#取出一条数据
datasmany=cursor.fetchmany(3)#取出3条数据
datasall=cursor.fetchall()#全部取出
#('information_schema',)
#(('fruitstore',), ('intergratedplatform',))
#(('mysql',), ('performance_schema',), ('sys',))
#
个人理解,从数据库查询的数据类似的存到游标里,取一条就少一条。
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

查询,一个变量做where条件。

row=cursor.execute('select * from product_info where category_id=%s',12)
print('查询出%d条数据。'%row)#查询出5条数据。
虽然category_id是数值,但是不能用%d匹配变量。
  
 
  • 1
  • 2
  • 3

查看execute()底层:其中的参数必有一个query(sql语句),还有一个参数args,这个是选传,可传单个,可传列表,也可传元组。

传入多个条件(元组)
row=cursor.execute('select * from product_info where category_id=%s AND product_price=%s',(12,20))
print('查询出%d条数据。'%row)#查询出1条数据。
  
 
  • 1
  • 2
  • 3
传入多个条件(list)
row=cursor.execute('select * from product_info where category_id=%s AND product_price=%s',[12,20])
print('查询出%d条数据。'%row)#查询出1条数据。
  
 
  • 1
  • 2
  • 3

新增数据

单条新增:
row=cursor.execute('insert into sign(openid) VALUES (%s)','86777777775')
conn.commit()#千万记得commit下,不然插入不到数据库。
  
 
  • 1
  • 2
批量新增
rows=cursor.executemany('insert into red_packet(openid,discount_id) VALUES (%s,%s)',[('123',1),('345',2),('678',3)])
conn.commit()
  
 
  • 1
  • 2

最后记得要关闭cursor和conn

cursor.close()
conn.close()
  
 
  • 1
  • 2

完整规范示例:

try:
    rows=cursor.executemany('insert into red_packet(openid,discount_id) VALUES (%s,%s)',[('123',1),('345',2),('678',3)])
    conn.commit()
except :
    conn.rollback()
finally:
    cursor.close()
    conn.close()
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

python连接redis

连接方式和mysql的很像。

import redis
redisArgs={
    'host':'129.43.73.197',
    'port':6379,
    'password':'123456',
}
re=redis.Redis(**redisArgs)
print(re)#Redis<ConnectionPool<Connection<host=119.23.73.197,port=6379,db=0>>>
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

操作redis

re.set('name','徐繁韵')
name=re.get('name')
print(name.decode()) #徐繁韵

re.mset(age=12,sex='男')
datas=re.mget('age','sex')
print(datas[1].decode())#男

re.incr('age',10)
print(re.get('age'))#b'22'
re.incr('age')
print(re.get('age')) #b'23'
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

python连接mongodb

import pymongo
from pymongo import MongoClient
client = MongoClient('139.13.73.197',27017)
print(client) 
#MongoClient(host=['129.33.73.197:27017'], document_class=dict, tz_aware=False, connect=True)
  
 
  • 1
  • 2
  • 3
  • 4
  • 5

此次撰写博客只是提及如何使用python连接数据库和简单的操作,后续复杂操作会尽快整理。
有任何疑问,尽情评论留言。

文章来源: blog.csdn.net,作者:徐同学呀,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_36586120/article/details/79492028

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。