大蟒蛇python教程共享Python与数据库的交互问题小结

目录
  • mongodb
    • 连接数据库
    • 增删改查
    • 封装
  • mysql
    • 连接数据库
    • 执行操作
    • 查询数据
    • 异常处理
  • redis
    • 连接数据库
    • 执行操作

mongodb

安装模块pip install pymongo

连接数据库

  import pymongo     client = pymongo.mongoclient()  db = client["database_name"]  # 跟上数据库名  collection = db["set_name"]  # 指定集合名

增删改查

添加—>insert_one | insert_many

  collection.insert_one({"name":"kongshang","age":12})  

查找—>find | find_one

  collection.find()  

注意要用list转换得到的数据

修改—>update_one | update_many

  collection.update_one({"name":"kongshang"},{'$set':{"age":13}})  

删除—>delete_one | delete_many

  collection.delete_one({"name":"kongshang"})  

封装

  import pymongo        class mymondb:      def __init__(self, database, collection):  # 数据库及集合          self.client = pymongo.mongoclient()  # 连接数据库使用          self.db = self.client[database]  # 指定使用的数据库          self.col = self.db[collection]  # 指定使用的集合         def insert(self, data, onlyone=true):  # onlyone用来控制插入单条还是多条数据          if onlyone:              self.col.insert_one(data)          else:              self.col.insert_many(data)                def find(self, query=none, onlyone=true):  # query是查询条件          if onlyone:              ret = self.col.find_one(query)              return ret          else:              ret = self.col.find(query)              return list(ret)         def update(self, data_old, data_new, onlyone=true):          if onlyone:              self.col.update_one(data_old, {"$set": data_new})          else:              self.col.update_many(data_old, {"$set": data_new})         def delete(self, data, onlyone=true):          if onlyone:              self.col.delete_one(data)          else:              self.col.delete_many(data) 

注意该数据库对大小写敏感

mysql

安装模块pip install pymysql

连接数据库

  import pymysql  # 连接mysql  db_config = {      "host": "127.0.0.1",      "port": 3306,      "user": "admin",      "password": "qwe123",      "db": "stu",  # 指定操作的数据库      "charset": "utf8"  }     conn = pymysql.connect(**db_config)  # mysql登录 **是字典拆包  print(conn)

执行操作

  cur = conn.cursor()  # 返回一个执行数据库命令游标对象,通过游标对象执行sql命令  cur.execute("insert into stu (id, name) values (1, 'nihao'),(2, 'ci')")  # 执行sql命令执行插入命令  conn.commit()  # 事务,提交保存  cur.close()  # 关闭游标对象  conn.close()  # 关闭数据库

查询数据

  cur.execute("select * from stu")  # 执行sql命令  # print(list(cur))  # print(cur.fetchone())  # 查询单条  # print(cur.fetchmany(3))  # 查询多条  print(cur.fetchall())  # 查询所有

异常处理

  try:      cur.execute("insert into stu (id, name) values (1, 'nihao'), (2, 'ci')")  except exception as e:      print(e)      conn.rollback()  # 事务回滚  else:      conn.commit()  # 事务提交  finally:      cur.close()  # 关闭游标对象      conn.close()  # 关闭数据库

redis

安装模块pip install redis

连接数据库

  import redis     # 登录数据库  # host ip地址  # decode_responses get获得键值时 true返回字符串数据,默认是false二进制数据  # db 指定数据库,默认为1  red = redis.strictredis(host="127.0.0.1", decode_responses=true, db=2)  

执行操作

  # 字符串  red.set("num", 1)  print(red.get("num"))  print(red.type("num"))  red.delete('num')  # 综上,调用redis数据库的方法是red.[输入redis数据库操作命令]()  

到此这篇关于python与数据库的交互的文章就介绍到这了,更多相关python数据库交互内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多python教程分享Python与数据库的交互问题小结,都可以关注python教程分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/pythontutorial/993670.html

(0)
上一篇 2021年12月26日
下一篇 2021年12月26日

精彩推荐