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. .netcore ioc 循环依赖问题及其相关思考之DispatchProxy

    .netcore引入了ioc机制让开发人员逐步习惯从过去的各种new对象变成通过IOC框架来管理对象的生命周期.这样当我们需要某个对象的时候,我们一般在构造函数里申明该对象的接口,即可通过ioc容器创 ...

  2. windows2003安装php ,mysql,fastgui

    在上一章中,windows2003的iis搭建已经完成,但是我们现在用的多的也包含php,该如何让Windows2003成功使用php文件呢? windows2003需要先行安装vc9运行库才能与fa ...

  3. jQuery入门看这一篇就够了

    一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...

  4. 剑指offer刷题

    1.面试题43. 1-n整数中1出现的次数 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次 ...

  5. TP6学习笔记一:安装与基本配置

    1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...

  6. Go-06-数据类型、常量、运算符

    数据类型转换 Go语言采用数据类型前置加括号的方式进行类型转换,格式如:T(表达式).T表示要转换的类型:表达式包括变量.数值.函数返回值等. var a int =100 b := float(a) ...

  7. Floyd算法C++实现与模板题应用

    简介 Floyd算法算是最简单的算法,没有之一. 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }: map[i , j ...

  8. Day05_26_Overide_方法重写

    Overide_方法重写 * 什么是方法重写(Overide)? - 方法重写也叫方法覆盖 ,重写是指子类对父类所允许访问的方法的实现过程进行重新编写, 返回值类型和形参都不能改变.即外壳不变,核心重 ...

  9. 7.bug生命周期

    new:测试发现并提交bug,状态为new/active; open: 分配bug到开发人员,状态为open: fixed:开发人员处理完bug,将状态改为fixed: closed/reopen:测 ...

  10. drozer源码学习:app

    源码下载:https://github.com/mwrlabs/drozer:模块的源码位于src.drozer.modules,根据模块名来划分文件夹: app.auxiliary.exploit. ...