python数据库编程
1.pyshon数据库接口(python DB-API)
1.为开发人员提供的数据库应用编程接口
2.python支持的数据库服务软件
mysql,oracle,sql_server,mongodb....
3.python提供的操作mysql模块
python3:pymysql
4.pymysql模块使用流程
1.建立数据库连接
2.创建游标对象
3.使用游标对象的方法操作数据库
4.提交commit
5.关闭游标对象
6.关闭数据库连接
5.示例
import pymysql
db = pymysql.connect("192.168.1.6","root","root","country",charset="utf8")
cursor = db.cursor()
try:
cursor.execute("insert into province values(1,200000,'四川省');")

cursor.execute("insert into pince values(1,200000,'四川省');") #命令有错误 province被改成pince
db.commit()
except Exception a e:
db.rollback() #出现错误就回滚
cursor.close()
db.close()
6.建立数据库连接
1.语法格式
对象名 = pymysql.connect("主机地址","用户名","密码","库名",charset="utf8") # charset可省略
2.connect连接对象支持的方法
1.cursor() 创建一个游标对象db.cursor()
2.commit() 提交到数据库执行(表记录增删改)
3.rollback() 回滚
4.close() 关闭数据库连接
3.游标对象支持的方法
1.execute("SQL命令") 执行SQL命令
2.fetchone() 取得结果集的第一条记录,返回一条记录数据组成的元组
3.fetchmany(n) 取得结果集的n条记录,返回由n条记录的小元组组成的大元组
4.fetchall() 取得结果集的所有记录,返回同上
注意:游标对象用fetchxxx取出一条记录,游标对象中就少一条记录

5.close() 关闭游标对象
7.面向对象的自制mysql类示例
from pymysql import *
class my_mysql_mud(object):
def __init__(self,host,port,db,user,passwd,charset="utf8"):
self.host = host
self.port = port
self.db = db
self.user = user
self.passwd = passwd
self.charset = charset

def open(self):
self.conn = connect(host=self.host,port=self.port,db=
self.db,user=self.user,passwd=self.passwd,charset=self.charset)
self.cursor = self.conn.cursor()
def close(self):
self.cursor.close()
self.conn.close()
def zhixing(self,sql):
self.open()
self.cursor.execute(sql)
self.conn.commit()
self.close()
print("ok")
8.ER模型 & ER图
1.定义(实体-关系 模型)
2.三个概念
1.实体
2.属性
3.关系
1.定义:实体之间的关系
2.分类
1.一对一关系(1:1):班级和班主任
2.一对多关系(1:n):班级和学生
3.多对多关系(m:n):学生和课程
4.ER图的绘制
1.矩形框代表实体
2.菱形框代表关系
3.椭圆框代表属性

mysql3_pymysql的更多相关文章

随机推荐

  1. 动态的创建Class对象方法及调用方式性能分析

    有了Class对象,能做什么? 创建类的对象:调用Class对象的newInstance()方法 类必须有一个无参数的构造器. 类的构造器的访问权限需要足够. 思考?没有无参的构造器就不能创建对象吗? ...

  2. Linux apt命令使用 以及 文本流和重定向

    apt (Advanced Packaging Tool) 是一个在Debian和Ubuntu中的Shell前端软件包管理器. apt命令执行需要超级管理员权限(root). apt语法 apt [o ...

  3. resultMap结果集映射解决属性名和字段不一致问题

    解决属性名和字段名不一致的问题 1.出现的问题 数据库中的字段 ​ 新建一个项目,拷贝之前的,测试实体类与数据库字段不一致的情况 public class User { private int id; ...

  4. 集合Set添加多个元素

    方一 Integer[] x=new Integer[]{4,6,9,10}; Set<Integer> set = new HashSet<>() ; Collections ...

  5. CPU 空闲时在干嘛?

    人在空闲时会发呆会无聊,计算机呢? 假设你正在用计算机浏览网页,当网页加载完成后你开始阅读,此时你没有移动鼠标,没有敲击键盘,也没有网络通信,那么你的计算机此时在干嘛? 有的同学可能会觉得这个问题很简 ...

  6. Hadoop完整搭建过程(四):完全分布模式(服务器)

    1 概述 上一篇文章介绍了如何使用虚拟机搭建集群,到了这篇文章就是实战了,使用真实的三台不同服务器进行Hadoop集群的搭建.具体步骤其实与虚拟机的差不多,但是由于安全组以及端口等等一些列的问题,会与 ...

  7. 并发编程之ThreadLocal

    并发编程之ThreadLocal 前言 当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了. 数据都被封闭在各自的线程之中,就不需要同步,这 ...

  8. 开坑:mysql相关问题

    一. 先过滤后连表和先连表后在mysql中选择的哪一种? 二. left join 和inner join使用场景有什么区别? 三. 第二个问题的衍生问题:left join中where 条件使用对n ...

  9. 一致性哈希做负载均衡,基于dubbo的简化版本,超级简单容易理解!!!

    一致性哈希算法原理以及做分布式存储.一定先看:一致性哈希算法 dubbo提供了四种负载均衡实现:权重随机算法,最少活跃调用数算法,一致性哈希算法,加权轮询算法. 本文基于开源项目:guide-rpc- ...

  10. 【ElasticSearch】文档路由的原理

    ElasticSearch集群环境下新增文档如何确认该文档被分配到哪个分片中? 路由算法: ⾸先这肯定不会是随机的,否则将来要获取⽂档的时候我们就不知道从何处寻找了.实际上,这个过程是根据下⾯这个公式 ...