python连接三大主流数据库mysql、redis、mongoDB的操作讲解
程序员文章站
2024-01-24 08:41:28
python连接mysql
用python操作mysql,你必须知道pymysql
代码示意:
import pymysql
conn = pymysql.connec...
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)#打印出此信息说明python连接mysql成功。
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)##
自此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',)) # 个人理解,从数据库查询的数据类似的存到游标里,取一条就少一条。
查询,一个变量做where条件。
row=cursor.execute('select * from product_info where category_id=%s',12) print('查询出%d条数据。'%row)#查询出5条数据。 虽然category_id是数值,但是不能用%d匹配变量。
查看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条数据。
传入多个条件(list) row=cursor.execute('select * from product_info where category_id=%s AND product_price=%s',[12,20]) print('查询出%d条数据。'%row)#查询出1条数据。
新增数据
单条新增:
row=cursor.execute('insert into sign(openid) VALUES (%s)','86777777775') conn.commit()#千万记得commit下,不然插入不到数据库。
批量新增
rows=cursor.executemany('insert into red_packet(openid,discount_id) VALUES (%s,%s)',[('123',1),('345',2),('678',3)]) conn.commit()
最后记得要关闭cursor和conn
cursor.close() conn.close()
完整规范示例:
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()
python连接redis
连接方式和mysql的很像。
import redis redisArgs={ 'host':'119.23.73.197', 'port':6379, 'password':'123456', } re=redis.Redis(**redisArgs) print(re)#Redis>>
操作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'
python连接mongodb
import pymongo from pymongo import MongoClient client = MongoClient('119.23.73.197',27017) print(client) #MongoClient(host=['119.23.73.197:27017'], document_class=dict, tz_aware=False, connect=True)
推荐阅读