python操作資料庫(MySQL、redis)

來源:互聯網
上載者:User

標籤:res   color   遊標   指定   字元   name   資料庫   存在   select   

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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.