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. springcloud面试题【第一期】

    全文目录 1:谈一谈你对微服务的理解? 2:微服务之间是如何独立进行通讯的? 3:springcloud和dubbo有哪些区别? 4:springboot和spring cloud得区别? 5:Eur ...

  2. Numpy 对于矩阵的操作持续更新

    >>> import numpy as np >>> a = np.random.randint(10,size=(5,5)) >>> a arr ...

  3. 网络编程Netty入门:ByteBuf分析

    目录 Netty中的ByteBuf优势 NIO使用的ByteBuffer有哪些缺点 ByteBuf的优势和做了哪些增强 ByteBuf操作示例 ByteBuf操作 简单的Demo示例 堆内和堆外内存 ...

  4. k8s 无头service 方式向内发布

    k8s 无头service 是指 clusterIP 为 None 的service 案例,假定有一个 deployment,containerPort 端口80,同时还被打上 python=mywe ...

  5. Vue.js入门及其常用指令

    一.Vue框架 https://cn.vuejs.org/ 官网 前端领域有三大框架 Angular诞生于2009年,是由谷歌公司创建出来的框架: React诞生于2013年,是由facebook公司 ...

  6. day-25-类的继承顺序-父类对子类的约束-多态-队列和栈

    一.类的继承顺序 只要继承object类就是新式类 不继承object类的都是经典类 在python3 中所有的类都继承object类,都是新式类 在python2 中不继承object的类都是经典类 ...

  7. SpringCloud(六)Bus消息总线

    Bus 消息总线 概述 分布式自动刷新配置功能 Spring Cloud Bus 配合 Spring Cloud Config使用可以实现配置的动态刷新 Bus支持两种消息代理:RabbitMQ和Ka ...

  8. 功能:Java注解的介绍和反射使用

    功能:Java注解的介绍和反射使用 一.注解 1.注解介绍 java注解(Annotation),又称为java标注,是jdk5.0引入的一种机制. Java 语言中的类.方法.变量.参数和包等都可以 ...

  9. php引入html文件(或php文件)的方法

    php引入html文件(或php文件)的方法 一.使用fopen()函数  此函数主要传入的是头两个参数(第一个是文件地址,第二个是打开方式),可以读取任何一个文本文件,然后用while将fopen函 ...

  10. layui select 动态赋值

    出现问题 赋值完成后页面不显示,没有效果 发现问题 赋值完成后需要重新渲染select 解决问题 form.render('select');