pthon学习--数据库的基本操作
Posted happy晨晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pthon学习--数据库的基本操作相关的知识,希望对你有一定的参考价值。
一、python操作mysql数据库
python3中操作mysql数据需要安装一个第三方模块,pymysql,使用pip install pymysql安装即可;
在python2中是MySQLdb模块,在python3中没有MySQLdb模块了,所以使用pymysql。
import pymysql
# 创建连接,指定数据库的ip地址,账号、密码、端口号、要操作的数据库、字符集
conn = pymysql.connect(host=‘10.211.55.6‘, port=3306, user=‘root‘, passwd=‘123456‘, db=‘test‘, charset=‘utf8‘)
# 创建游标
# cursor = conn.cursor()
# # 执行SQL,并返回受影响行数
# cursor.execute(‘select * from MyClass‘)
# print(cursor.fetchone()) # 获取一条数据,返回的为元组
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 需要指定游标的类型,字典类型,则返回结果为字典列表
# 执行SQL
cursor.execute("select * from MyClass;")
# 获取返回结果,这个时候返回结果是一个字典
res = cursor.fetchone()
print(res)
conn.close()
# effect_row = cursor.execute("update students set name = ‘niuhy‘ where id = 1;")
# # 执行SQL,并返回受影响行数
# # effect_row = cursor.execute("update students set name = ‘niuhy‘ where id = %s;", (1,))
# # 执行SQL,并返回受影响行数
# # effect_row = cursor.executemany("insert into students (name,age) values (%s,%s); ", [("andashu",18),("zouweiwei",20)])
# # 执行select语句
# # cursor.execute("select * from students;")
# # 获取查询结果的第一条数据,返回的是一个元组
# # row_1 = cursor.fetchone()
# # 获取光标所在位置后的n行数据
# # row_2 = cursor.fetchmany(3)
# # 获取所在位置后的所有数据
# # row_3 = cursor.fetchall()
# # 提交,不然无法保存新建或者修改的数据
# conn.commit()
# # 获取最新自增ID
# new_id = cursor.lastrowid
# print(new_id)
# cursor.close() # 关闭游标
# conn.close() # 关闭连接
上面的操作,获取到的返回结果都是元组,如果想获取到的结果是一个字典类型的话,可以使用下面这样的操作
二、操作redis
redis是一个nosql类型的数据库,数据都存在内存中,有很快的读写速度,python操作redis使用redis模块,pip安装即可
三、操作mongodb
mongodb和redis一样,也是一个nosql类型的数据库,它和redis的区别是,redis把整个数据都放在内存,而mongodb是把数据放在磁盘上的。
python操作mongodb使用pymongo模块,pip安装即可,操作如下
import pymongo
conn = pymongo.MongoClient(host=‘10.211.55.6‘, port=27017) # 连接mongodb
db = conn.test # 选择的数据库
collection = db.account # 选择集合,即表
# collection.save(stu2)#插入单条数据
# collection.insert(stus)#插入单条和多条,如果是多条的话,传入的就是一个list
# collection.update({‘age‘:20},{‘$set‘:{‘age‘:30}},multi=True)#在原来数据的基础上修改
# collection.update({‘name‘:‘牛‘},{‘name‘:‘niuhy‘,‘age‘:20})#更新数据
# collection.update({‘name‘:‘python‘},{‘$set‘:{‘addr‘:‘河南‘}})#在原来数据的基础上修改
# collection.update({‘name‘:‘牛‘},
# {‘$set‘:{‘addr‘:‘河南‘}},
# multi=True)#multi参数的作用是如果有多个结果的话,是否全部修改
# collection.remove({‘age‘:30})#删除指定的数据,如果不传入参数,删除的是全部的数据
# collection.remove()#删除全部数据
data = collection.find({‘name‘:‘bj‘})#查询指定的数据
# all_data = collection.find()#不写参数就是查询所有的数据
# my_data = collection.find({‘age‘:{‘$gte‘:18}})#查询大于18岁的
for d in data:#获取数据,所有查询数据都需要使用循环来获取
print(d)#每个元素都是一个字典
以上是关于pthon学习--数据库的基本操作的主要内容,如果未能解决你的问题,请参考以下文章