天天看點

Python互動資料庫(Mysql | Mongodb | Redis)Mysql操作資料庫Mongdbredis

資料庫

Mysql

MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB公司開發,後來被Sun公司收購,Sun公司後來又被Oracle公司收購,目前屬于Oracle旗下産品

MySQL 軟體采用了雙授權政策,它分為社群版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫.

建立資料庫

create database zhaozhao charset=utf8;

use zhaozhao;


create table zhaozhao_comic(

    id int unsigned primary key auto_increment not null,
    name varchar(100),
    zone varchar(100) 


);

insert into zhaozhao_comic values
    (0, "旋渦鳴人", "木葉村"),
    (0, "蘇蘇", "塗山"),
    (0, "曹焱兵", "鎮魂街"),
    (0, "坂田銀時", "萬事屋");


           

操作資料庫

from pymysql import *

def main():
    # 建立Connection連接配接
    conn = connect(host='172.16.221.143',port=3306,database='zhaozhao',user='root',password='root',charset='utf8')
    
    # 獲得Cursor對象
    cs1 = conn.cursor()
    # 執行insert語句,并傳回受影響的行數:添加一條資料

    # 增加
    count = cs1.execute('insert into zhaozhao_comic(name, zone) values("我愛羅", "風之國"),("奇拉比", "雷之國")')
    # 列印受影響的行
    print ("共有",count, "行受影響!")
    count = cs1.execute('insert into zhaozhao_comic values(0, "奧特曼", "M78星雲")')
    # 列印受影響的行
    print ("共有",count, "行受影響!")

    # 執行
    conn.commit()

    # 删除
    count = cs1.execute('delete from zhaozhao_comic where name = "奇拉比" ')
    # 列印受影響的行
    print ("共有",count, "行受影響!")
    # 執行
    conn.commit()

    # 更改
    count = cs1.execute('update zhaozhao_comic set name="賽羅奧特曼" where name="奧特曼"')
    # 列印受影響的行
    print ("共有",count, "行受影響!")
    # 執行
    conn.commit()
    
    # 查詢
    count = cs1.execute('select * from zhaozhao_comic where id < 5')
    # 列印受影響的行
    print ("共查到",count, "行資料!")

    for i in range(count):

        result = cs1.fetchone()
        print ("第%d次查到的資料為%s:"%(i+1, result))

    # 關閉Cursor對象
    cs1.close()
    # 關閉Connection對象
    conn.close()

if __name__ == '__main__':
    main()
           

Mongdb

MongoDB 是一個基于分布式檔案存儲的NoSQL資料庫.

MongoDB由C++語言編寫,運作穩定,性能高.

MongoDB旨在為WEB應用提供可擴充的高性能資料存儲解決方案.

from pymongo import *

def main():
    
    # 建立連接配接對象
    client=MongoClient(host='localhost',port=27017)

    # 獲得資料庫,此處使用python資料庫
    db=client.python

    # 增加
    
    db.stu.insert_one({'name':'佐助','gender':'男'})
    db.stu.insert_one({'name':'春野櫻','gender':'女'})
    db.stu.insert_one({'name':'蒙奇 D 路飛','gender':'男'})
    db.stu.insert_one({'name':'索隆','gender':'男'})
    db.stu.insert_one({'name':'娜美','gender':'女'})


    # 查詢

    #查詢一條文檔
    result=db.stu.find_one({'name':'索隆'})
    print (result)

    #查詢多條文檔
    result=db.stu.find({'gender':'男'})

    for item in result:
        print ('%s--%s'%(item['name'],item['gender']))


    # 修改

    #更新滿足條件的第一條文檔
    db.stu.update_one({'name':'佐助'},{'$set':{'name':'宇智波佐助'}})

    #更新滿足條件的所有文檔
    db.stu.update_many({'gender':"男"},{'$set':{'gender':'boy'}})


    # 删除
    # 删除滿足條件的第一條文檔
    db.stu.delete_one({'gender':'男'})

    #删除滿足條件的所有文檔
    db.stu.delete_many({'gender':'女'})


if __name__=='__main__':
    main()


           

redis

Redis

Redis是一個開源的使用ANSI C語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持.

Redis是一個開源(BSD許可)的、記憶體中的資料結構存儲系統,它可以用作資料庫、緩存和消息中間件.

from redis import *

def main():

    #建立StrictRedis對象,與redis伺服器建立連接配接
    sr=StrictRedis()

    # 添加

    #添加鍵py1,值為gj
    result=sr.set('name','zhaozhao')
    #輸出響應結果,如果添加成功則傳回True,否則傳回False
    print ("添加結果:",result)

    # 查詢

    #擷取鍵py1的值
    result = sr.get('name')
    #輸出鍵的值,如果鍵不存在則傳回None
    print ("擷取的值為:",result)


    # 修改

    #設定鍵py1的值,如果鍵已經存在則進行修改,如果鍵不存在則進行添加
    result = sr.set('name','zhaozhaolee')
    #輸出響應結果,如果操作成功則傳回True,否則傳回False
    print (result)

    # 删除

    #設定鍵py1的值,如果鍵已經存在則進行修改,如果鍵不存在則進行添加
    result = sr.delete('name')
    #輸出響應結果,如果删除成功則傳回受影響的鍵數,否則則傳回0
    print (result)



if __name__=="__main__":
    main()