数据库
Mysql
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
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()