資料庫
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()