Python操作三大主流数据库 实战网易新闻客户端,百度网盘下载

912 阅读2分钟
链接: https://pan.baidu.com/s/1Qq3FAqzkmakso2E7KuxvVg 提取码: kczq
作者-\/ 307570512

Python操作三大主流数据库介绍

MySQL 关系型数据库,MySQL在 WEB 应用方面 MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件之一。 MongoDB MongoDB 和 Redis 都是 NoSQL(非关系型的数据库),采用结构型数据存储。 二者在使用场景中,存在一定的区别, 这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。 MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主从模式。 Redis Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Pythonr操作三大主流数据库 实战网易新闻客户端

流程:开始-创建connection-获取cursor-(执行查询,命令,获取,处理数据)-关闭cursor-关闭connection-结束

安装pymysql模块

pip install pymysql

引入该模块

import pymysql

print(pymysql.version)

数据库连接对象connection

pymysql.connect(参数): 该对象支持的方法: cursor() 使用该连接创建并返回游标 commit() 提交当前事务 rollback() 回滚当前事务 close() 关闭连接 pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='mysql',charset='utf8')

数据库交互对象cursor

该对象支持的方法: execute(op[args]) 执行一个数据库查询或命令 fetchone() 取的结果集的下一行 fetchmany(size) 取的结果集的下n行 fetchall() 获取结果集中剩下的所有行 rowcount() 最近一次execute返回数据的行数或影响行数 close() 关闭对象

注意:调用execute方法后数据存在缓冲区内,调用fetch方法获取数据

实例演示 执行命令,查询: cursor.execute('select * from myapp_student') print(cursor.rowcount) for i in cursor.fetchall(): print(i)

事务

原子性:事务中的操作要么都做,要么都不做 一致性:事务必须保证数据库从一个一致性状态变到另一个一致性状态 持久性:事务一旦提交,对数据库的改变就是永久的 隔离性:一个事务的执行不能被其他事务干扰

开发过程中一般设置自动提交为失效

关闭自动commit ,conn.autocommit(False),正常结束:conn.commit(),异常结束:conn.rollback(),经试验,pymysql模块中默认为FALSE

  try:
      cursor.execute('insert into myapp_student values (11,"test",20,1,"haha",1)')
      cursor.execute('insert into myapp_student values (13,"test",20,1,"haha",1)')
      cursor.execute('delete from myapp_student where qid=1000')
      conn.commit()
  except:
      print('SQL语句执行出错,执行回滚操作')
      conn.rollback()

...

。。。