1. 程式人生 > >python連線三大主流資料庫(mysql、redis、mongoDB)

python連線三大主流資料庫(mysql、redis、mongoDB)

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成功。

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>

自此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':'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>>>

操作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('139.13.73.197',27017)
print(client) 
#MongoClient(host=['129.33.73.197:27017'], document_class=dict, tz_aware=False, connect=True)

此次撰寫部落格只是提及如何使用python連線資料庫和簡單的操作,後續複雜操作會盡快整理。
有任何疑問,盡情評論留言。