python操作MySQL

1.pymysql的操作流程

a.导入pymysql
语法:

import pymysql

b.使用pymysql上的connect()方法连接数据库返回连接对象
语法:

 连接对象 = pymysql.connect(
    host="连接地址 localhost, ip 地址",
    port=端口号,默认3306,
    user="用户名",
    password="密码",
    database="数据库名",
    charset="utf8"
    )

c.使用连接对象创建游标对象,用于操作sql.
语法:

游标对象=连接对象.cursor(cursor=None)

d.准备写sql语句
例如:

sql="select * from student"

e.使用游标对象执行sql(发送),如果没有查询数据,返回受影响的行数
语法:

游标对象.execute(sql,args=None]

f.如果有查询数据,使用游标获取数据
语法:

游标对象.fetchall()     获取所有
游标对象.fetchone()     获取下一条,每执行一次获取一条
游标对象.fetchmany(number)   获取指定条数

g.关闭游标和数据库连接
语法:

游标对象.close()
连接对象.close()

2.使用连接对象

a.创建游标对象

 游标对象 = 连接对象.cursor(cursor=None)
        参数说明: 指定游标的类型
        `Cursor`: 默认
        `SSCursor`: 默认基础上采用生成器
        `DictCursor`: 字典类型游标
        `SSDictCursor`: 在字典采用生成器方式
例如:
 cnn.cursor(cursor=pymysql.cursors.SSDictCursor)

b.切换数据库
语法:

数据库连接对象.select_db(数据库名)

c.关闭连接
语法:

连接对象.close()

d.事务操作方法
1.开启事务

连接对象.begin()     开启事务,默认开启

2.提交事务

连接对象.commit()      

3.回滚事务

连接对象.rollback()      

注意:pymysql鉴于安全考虑,所有的写(insert,delete,update)操作都必须使用事务.

3.游标对象的使用

a.游标对象用于执行sql语句
语法:

游标对象.execute(sql,args=None)

传参数说明:
1.如果是完整的sql语句,就直接传第一个参数即可
备注:如果通过传入形式拼接的sql语句,容易造成sql注入风险.
sql注入:恶意用于构建特殊sql参数传入,从而非法获取数据

2.如果sql语句是使用%s占位的时候,必须使用第二个参数args(实际参数)
例如:

sql="select * from student where name=%s and age=%s"
args=['张飞',18]   #列表或者元组
#执行
游标对象.execute(sql,args)
#传入多条
游标对象.executemany(sql,args)

b.游标对象获取数据

c.游标的关闭
语法:

游标对象.close()

建议每次使用完执行和获取数据后关闭

e.提供一个上下文管理器的语法,自动关闭(任何打开的东西)
语法:

with 连接对象.cursor() as cursor:
	#使用游标cursor执行获取数据,自动关闭游标

例子:文件操作

with open ('文件路径','读取方式',encoding='utf-8') as fp:
	fp.read()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值