數(shù)據(jù)庫
Mysql
Mysql
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)余佛,由瑞典MySQL AB公司開發(fā)柠新,后來被Sun公司收購,Sun公司后來又被Oracle公司收購辉巡,目前屬于Oracle旗下產(chǎn)品
MySQL 軟件采用了雙授權(quán)政策恨憎,它分為社區(qū)版和商業(yè)版,由于其體積小红氯、速度快框咙、總體擁有成本低咕痛,尤其是開放源碼這一特點痢甘,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫.
創(chuàng)建數(shù)據(jù)庫
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, "曹焱兵", "鎮(zhèn)魂街"),
(0, "坂田銀時", "萬事屋");
操作數(shù)據(jù)庫
from pymysql import *
def main():
# 創(chuàng)建Connection連接
conn = connect(host='172.16.221.143',port=3306,database='zhaozhao',user='root',password='root',charset='utf8')
# 獲得Cursor對象
cs1 = conn.cursor()
# 執(zhí)行insert語句,并返回受影響的行數(shù):添加一條數(shù)據(jù)
# 增加
count = cs1.execute('insert into zhaozhao_comic(name, zone) values("我愛羅", "風(fēng)之國"),("奇拉比", "雷之國")')
# 打印受影響的行
print ("共有",count, "行受影響!")
count = cs1.execute('insert into zhaozhao_comic values(0, "奧特曼", "M78星云")')
# 打印受影響的行
print ("共有",count, "行受影響!")
# 執(zhí)行
conn.commit()
# 刪除
count = cs1.execute('delete from zhaozhao_comic where name = "奇拉比" ')
# 打印受影響的行
print ("共有",count, "行受影響!")
# 執(zhí)行
conn.commit()
# 更改
count = cs1.execute('update zhaozhao_comic set name="賽羅奧特曼" where name="奧特曼"')
# 打印受影響的行
print ("共有",count, "行受影響!")
# 執(zhí)行
conn.commit()
# 查詢
count = cs1.execute('select * from zhaozhao_comic where id < 5')
# 打印受影響的行
print ("共查到",count, "行數(shù)據(jù)!")
for i in range(count):
result = cs1.fetchone()
print ("第%d次查到的數(shù)據(jù)為%s:"%(i+1, result))
# 關(guān)閉Cursor對象
cs1.close()
# 關(guān)閉Connection對象
conn.close()
if __name__ == '__main__':
main()
Mongdb
Mongdb
MongoDB 是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫.
MongoDB由C++語言編寫茉贡,運行穩(wěn)定塞栅,性能高.
MongoDB旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案.
from pymongo import *
def main():
# 創(chuàng)建連接對象
client=MongoClient(host='localhost',port=27017)
# 獲得數(shù)據(jù)庫,此處使用python數(shù)據(jù)庫
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語言編寫腔丧、支持網(wǎng)絡(luò)放椰、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫愉粤,并提供多種語言的API砾医。從2010年3月15日起,Redis的開發(fā)工作由VMware主持.
Redis是一個開源(BSD許可)的衣厘、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng)如蚜,它可以用作數(shù)據(jù)庫、緩存和消息中間件.
from redis import *
def main():
#創(chuàng)建StrictRedis對象影暴,與redis服務(wù)器建立連接
sr=StrictRedis()
# 添加
#添加鍵py1错邦,值為gj
result=sr.set('name','zhaozhao')
#輸出響應(yīng)結(jié)果,如果添加成功則返回True型宙,否則返回False
print ("添加結(jié)果:",result)
# 查詢
#獲取鍵py1的值
result = sr.get('name')
#輸出鍵的值撬呢,如果鍵不存在則返回None
print ("獲取的值為:",result)
# 修改
#設(shè)置鍵py1的值,如果鍵已經(jīng)存在則進(jìn)行修改妆兑,如果鍵不存在則進(jìn)行添加
result = sr.set('name','zhaozhaolee')
#輸出響應(yīng)結(jié)果魂拦,如果操作成功則返回True,否則返回False
print (result)
# 刪除
#設(shè)置鍵py1的值搁嗓,如果鍵已經(jīng)存在則進(jìn)行修改晨另,如果鍵不存在則進(jìn)行添加
result = sr.delete('name')
#輸出響應(yīng)結(jié)果,如果刪除成功則返回受影響的鍵數(shù)谱姓,否則則返回0
print (result)
if __name__=="__main__":
main()