1. 程式人生 > >python操作數據庫(MySQL、redis)

python操作數據庫(MySQL、redis)

absolut lec pen 鏈接 hone key imp iam sql

1、Python3操作MySQL數據庫需要安裝一個第三方模塊(pymysql):pip install pymysql;操作redis需要安裝redis模塊(redis):pip install redis

Python操作MySQL:

import pymysql  #導入模塊
# conn =pymysql.connect(host=‘211.149.147.233‘,user=‘byz‘,passwd=‘123456‘,db=‘byz‘,port=3306,charset=‘utf8‘)#創建數據庫鏈接,指定IP、賬號密碼、端口、數據庫名、字符集
# cur = conn.cursor(cursor=pymysql.cursors.DictCursor) #創建遊標,指定輸出數據類型
# cur= conn.cursor(cursor=pymysql.cursors.DictCursor)
# sql = ‘insert into user (id,username,password) value (12,"test","123456");‘
# sql1 = ‘select * from user;‘
# cur.execute(sql1) #執行sql
# print(cur.fetchall()) #獲取SQL結果所有數據
# print(cur.fetchone()) #獲取SQL結果一條數據
# print(cur.fetchone()) #獲取SQL結果一條數據
# cur.scroll(4,mode=‘absolute‘) #和fetchone結合使用,將位置移動到第五(位置數是從0開始的)--絕對位置
# cur.scroll(4,mode=‘relative‘) #和fetchone結合使用,將位置往後移4(相對位置)
# print(cur.fetchone()) #結合absolute,這裏顯示數據庫裏面的第六條數據
# conn.commit() #提交執行 insert、delete、update必須 要提交才能生效
# cur.close() #關閉遊標
# conn.close() #關閉數據庫鏈接

# mysql_info = {
# "host":‘211.149.147.233‘,
# "user":‘byz‘,
# "passwd":‘123456‘,
# "db":‘byz‘,
# "port":3306,
# "charset":‘utf8‘
# }
#鏈接MySQL的函數
# def OpenMysql(sql):
# host=mysql_info[‘host‘]
# user=mysql_info[‘user‘]
# passwd=mysql_info[‘passwd‘]
# db=mysql_info[‘db‘]
# port=mysql_info[‘port‘]
# charset=mysql_info[‘charset‘]
# conn = pymysql.connect(host=host,user=user,passwd=passwd,db=db,port=port,charset=charset)
# cur= conn.cursor(cursor=pymysql.cursors.DictCursor)
# cur.execute(sql)
# if sql.startswith(‘select‘):
# res = cur.fetchall()
# else:
# conn.commit()
# res = ‘提交成功‘
# cur.close()
# conn.close()
# return res
# sql = ‘insert into user (id,username,password) value (13,"test","123456");‘
# sql = ‘select * from user;‘
#調用函數
rr = OpenMysql(sql=sql)
print(rr)


# Python操作redis

import redis,json
# r = redis.Redis(host=‘211.149.218.16‘,port=6379,db=0,password=‘123456‘) #鏈接redis
# r.set(‘name‘,‘jiameiyu1‘) #設置name的值,若name不存在就新建一個,否則就修改name的值
# r.setnx(‘name‘,‘jiameiyu‘) #設置name的值,name不存在的時候才會設置
# r.setex(‘name1‘,‘jiameiyu‘,15) #設置name的值,超過15s即失效
# r.mset(name2=‘name2‘,name3=‘name3‘,name4=‘name4‘) #批量設置值
# print(r.mget(‘name‘,‘name1‘,‘name2‘,‘name3‘)) #批量獲取key值
# r.delete(‘name‘) #刪除值
# r.delete(‘name2‘,‘name3‘) #批量刪除
#操作哈希類型的值
# r.hset(‘hname‘,‘key‘,‘value‘)
# r.hsetnx(‘hname‘,‘key2‘,‘value2‘) #給hname設置key和value值,key不存在的時候才會set
# r.hmset(‘hname‘,{‘k1‘:‘v1‘,‘k2‘:‘v2‘}) #給hname批量設置key value值
# print(r.hget(‘hname‘,‘key‘)) #獲取這個hname裏面指定的key值
# print(r.hgetall(‘hname‘)) #獲取所有的key

# redis_info = {
# "host":‘211.149.218.16‘,
# "passwd":‘123456‘,
# "db":0,
# "port":6379
# }
# 操作redis的函數
# def Opredis(host,passwd,k,port=3679,db=0,v=False):
# r = redis.Redis(host=host,password=passwd,port=port,db=db) #鏈接redis
# if v: #如果v為空則調set,否則調用get
# r.set(k,v)
# res = ‘設置成功‘
# else:
# res = r.get(k).decode() #返回獲取值,這裏要用decode將redis默認返回的byte字節轉換成字符串
# return res
# #調用函數
# res = Opredis(
# host=redis_info[‘host‘],
# passwd=redis_info[‘passwd‘],
# db=redis_info[‘db‘],
# port=redis_info[‘port‘],
# k=‘zs‘
# )
# print(res)











python操作數據庫(MySQL、redis)