1. 程式人生 > >python之操作資料庫

python之操作資料庫

一、操作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.lastrowid print(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)