python之操作數據庫
阿新 • • 發佈:2018-10-22
creat password 字典 ash 文件夾 des 第三方模塊 http desc
一、操作mysql
首先,python3操作mysql.需要安裝第三方模塊pymysql,在python2中則使用的是pysqldb。這裏使用pymysql.
直接使用pip install pymysql或python3 setup.py install安裝。
1.1連接mysql
import pymysql #數據庫連接信息 host=‘127.0.0.1‘ user=‘db‘ password=‘123456‘ #密碼只能是字符串 db=‘db‘ port=3306#端口號只能寫int類型 charset=‘utf8‘#只能寫utf8,不能寫utf-8 conn = pymysql.connect(host=host,password=psassword, user=user,db=db,port=port, charset=charset,autocommit=True )#建立連接 #autocommit=True往數據庫寫數據時,需要commit下,這個參數表示自動提交。 cur=conn.cursor#創建遊標 sql=‘select * from app_users limit 5;‘ cur.execute(sql)#只是執行sql語句,並不返回執行sql的結果 print(cur.fetchall())#執行上述mysql語句,把結果放到cur,通過fetchall將執行sql後的結果取出來,默認返回的是二維元組print(cur.description())#獲取這個表裏所有字段的屬性信息 cur.close()#關閉遊標 conn.close()#關閉連接
#創建遊標,操作設置為字典類型,返回結果為字典格式!不寫默認是元組格式! cur=conn.cursor(cursor=pymysql.cursors.DictCursor) #接收數據有三種方式: res = cursor.fetchone() #接收返回的第一行數據 ret = cursor.fetchmany(n) #接收返回的n行數據 req = cursor.fetchall() #接收返回的說有數據 #獲取最新的自增ID new_id=cursor.lastrowidprint(new_id) conn.rollback()#回滾當前遊標的所有操作
1.2創建數據庫表
import pymysql host=‘127.0.0.1‘ user=‘jxz‘ password=‘123456‘ #密碼只能是字符串 db=‘jxz‘ port=3306#端口號只能寫int類型 charset=‘utf8‘#只能寫utf8,不能寫utf-8 conn = pymysql.connect(host=host,password=password, user=user,db=db,port=port, charset=charset,autocommit=True )#建立連接 #autocommit=True往數據庫寫數據時,需要commit下,這個表示自動提交。 cur= conn.cursor() #建立遊標 sql=‘create table LYH (username char(20),age int,sex char(20))‘ cur.execute(sql) print(cur.fetchall()) cur.close() conn.close()
1.3插入數據
import pymysql host=‘127.0.0.1‘ user=‘jxz‘ password=‘123456‘ #密碼只能是字符串 db=‘jxz‘ port=3306#端口號只能寫int類型 charset=‘utf8‘#只能寫utf8,不能寫utf-8 conn = pymysql.connect(host=host,password=password, user=user,db=db,port=port, charset=charset,autocommit=True )#建立連接 #autocommit=True往數據庫寫數據時,需要commit下,這個表示自動提交。 cur= conn.cursor() #建立遊標 sql=‘insert into LYH (username,age,sex) VALUES ("liuyihan",18,"女")‘ cur.execute(sql) cur.close() conn.close()
二、操作redis
redis是一種nosql數據庫,是一種高性能的key-value數據庫。其特點有以下三個:
- 數據可持久化地保存在磁盤中,重啟時可再次加載使用
- value可存儲string,list,set,hash等數據結構
- 支持master-slave數據備份
通過redis desktop manager連接工具,也操作redis數據庫。具體方法如圖:
通過python操作redis,首先安裝redis模塊。
import redis import random ip=‘127.0.0.1‘ password=‘******‘ r=redis.Redis(host=ip,password=password,port=6379,db=1) #操作string類型的值 # res=r.get(‘liuyihan‘) # print(res) # s=‘ss‘ # print(s.encode())#將字符串變成bytes類型,二進制類型 # print(res.decode())#將二進制類型轉變成字符串類型 # r.flushdb()#清空所有表 # r.set(‘lyh‘,‘ftt‘,50)#50指定key50S後失效 # r.delete(‘gta‘)#刪除指定的key # r.setex(‘lyh‘,‘233‘,40)#40是指定value40S後失效 # token:lyh#冒號前的表示文件夾 r.set(‘message:lyh‘,‘excel,word‘)#冒號:前的是文件夾,冒號:後的是key,‘excel,word‘是values # print(r.keys())#獲取數據庫中的所有key,返回一個列表
#hash類型,二層字典 # token={‘lyh‘:{‘age‘:‘18‘,‘firm‘:‘DJ‘}} r.hset(‘Message‘,‘LYH‘,"Shenzen") print(r.hget(‘jnz_stus‘,‘cm‘)) # res=r.hgetall(‘jnz_stus‘) # print(res) # new={} # for key,value in enumrate(res): # new[key.decode()]=value.decode() # print(new)
python之操作數據庫