importpymysql#数据库操作#连接

defdb_conn(host,port,user,passwd,db_name):try:

conn=pymysql.connect(

host=host,

port=port,

user=user',

passwd=password,

db=db_name,

charset='utf8',

)#cur=conn.cursor()

print('数据库连接成功!')#返回连接

returnconnexceptpymysql.Error as e:print('数据库连接失败')print('mysql.Error:',e.args[0],e.args[1])defdb_cur(conn):#获取游标

cur=conn.cursor()returncurdefdb_close(cur,conn):#游标关闭

cur.close()#提交事务

conn.commit()#连接关闭

conn.close()#插入单行数据

def db_insert_data(sql,cur,*args):try:#print(args)

result=cur.execute(sql,args)print('添加语句受影响的行数:',result)exceptException as e:print('db_insert_data error:',e.args)#批量插入数据

defdb_insert_datas(sql,cur,list_datas):try:

result=cur.executemany(sql,list_datas)print('批量插入受影响的行数:',result)exceptException as e:print('db_insert_datas error:',e.args)#修改单行数据

defdb_update(sql,cur):

result=cur.execute(sql)print('修改语句受影响的行数:',result)#批量修改数据

defdb_update_datas(sql,cur,list_datas):try:

result=cur.executemany(sql,list_datas)print('批量修改受影响的行数:',result)exceptException as e:print('db_update_datas error:',e.args)#删除单行数据

defdb_delete_data(sql,cur):

result=cur.execute(sql)print('删除语句受影响的行数:',result)#批量删除数据

defdb_delete_datas(sql,cur,list_datas):try:

result=cur.executemany(sql,list_datas)print('批量删除受影响的行数:',result)exceptException as e:print('db_delete_datas error:',e.args)#回滚

defroll_back(conn):try:

conn.rollback()print('回滚完成!')exceptException as e:print('rollback error:',e.args)defdb_select_data(sql,cur):

result=cur.execute(sql)print('查询语句受影响的行数:',result)defdb_select_datas(sql,cur,list_datas):try:

result=cur.executemany(sql,list_datas)print('批量查询受影响的行数:',result)exceptException as e:print('db_select_datas error:',e.args)if __name__=="__main__":

host='127.0.0.1'port=3306user='root'passwd='123456'db='py3_tstgr'conn=db_conn(host,port,user,passwd,db)print(conn)

cur=db_cur(conn)print(cur)

insert_sql="insert into user values(1,'tom','123','1990-01-01');"db_insert_data(insert_sql,cur)

insert_sql2="insert into user values(%s,%s,%s,%s);"db_insert_data(insert_sql2,cur,2,'lucy','aaa','1991-02-02')

insert_datas_sql="insert into user values(%s,%s,%s,%s);"list_datas=[(2,'ha2','222','1992-02-02'),(3,'ha3','333','1993-03-03'),(4,'ha4','444','1994-04-04')]

db_insert_datas(insert_datas_sql,cur,list_datas)#查询数据

sql="select * from user;"cur.execute(sql)

res1=cur.fetchone() #获取一行数据

print(res1)

res2=cur.fetchmany(2) #获取多行数据

print(res2)

res3=cur.fetchall() #获取所有数据

print(res3)print(cur.fetchone()) #None

#重置游标

cur.scroll(1,mode='relative')print(cur.fetchone())#更新数据

up_sql="update user set name='lala' where password='123';"db_update(up_sql,cur)#批量更新数据

up_sqls="update user set name=%s where password=%s;"up_datas=[('lw','123'),('lc','aaa')]

db_update_datas(up_sqls,cur,up_datas)#删除数据

delete_sql="delete from user where name='lw';"db_delete_data(delete_sql,cur)

delete_sqls="delete from user where name=%s;"db_delete_datas(delete_sqls,cur,[('lc'),('hah2'),('hah3')])#print(cur.rownumber) # 0 获取所在行号

#cur.scroll(0,mode='absolute')

#cur.execute('select * from user;')

select_sql="select * from user;"db_select_data(select_sql,cur)print(cur.fetchall())#roll_back(conn) # 回滚

#print(cur.rownumber)

#cur.scroll(0, mode='absolute')

#cur.execute('select * from user;')

#查询单行

select_sql = "select * from user;"db_select_data(select_sql, cur)#批量查询

select_sqls="select * from user where name=%s;"db_select_datas(select_sqls,cur,[('ha1'),('ha2'),('ha3')])print(cur.fetchall())

db_close(cur,conn)#断开连接

pymysql连接mysql数据库try_pymysql操作mysql数据库相关推荐

  1. 数据库之操作MySQL

    数据库之操作MySQL 一.数据库 1.什么是数据库 数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里.. 数据表之间相互关联,反映客观事物间的本质联系.. 数 ...

  2. MFC对数据库的操作---MYSQL

    目录 在mysql数据库中创建所需要的表 创建数据库 创建表 配置项目环境 ​编辑在vs中配置包含目录.引用目录.库目录和附加依赖项 添加库文件 添加头文件 实现对数据库的操作 打开数据库 数据增删改 ...

  3. flask mysql orm_Flask笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy...

    Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqla ...

  4. python封装类连接mysql数据_python操作mysql数据库基本类封装

    # -*- coding: UTF-8 -*- import MySQLdb as mdb class MysqldbHelper(object): """操作mysql ...

  5. shell脚本连接、读写、操作mysql数据库实例

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  6. python读取mysql数据库_Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...

  7. php操作mysql数据_PHP - 操作MySQL数据库

    第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...

  8. 数据库——python操作MySQL、修改表SQL语句、视图、触发器、存储过程、事务、流程控制、常见函数、索引

    文章目录 一.python操作MySQL 1.pymysql模块 1.基本使用 2.sql注入问题 3.二次确认 二.修改表SQL语句 1.修改表的名字 rename 2.添加字段 add 3.修改字 ...

  9. linux shell操作mysql,Linux shell操作mysql数据库的方法

    摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...

最新文章

  1. 为何云原生在吞噬世界 ?
  2. andriod之log打印
  3. 计算机桌面窗口移动有虚影,win7系统桌面出现残影影响心情?一招帮你解决问题...
  4. SQL里各种联合查询总结
  5. 前端常见知识点五之Fetch
  6. 免费开源的 .NET 分布式组件库 Exceptionless Foundatio
  7. 【Java】浅析神奇的this
  8. 最新 C++的iostream标准库介绍(1)
  9. Vue-cli3 项目搭建和启动
  10. 恒丰银行年报:以区块链等线上“大脑”再造业务流程
  11. Eclipse安装Egit插件,egit安装特别缓慢
  12. L - Finding the Bases(KMP+dp)
  13. ETL工具-Kettle Spoon教程
  14. 还原氧化石墨烯(RGO)的结构电极-供应三维石墨烯结构体/高质量石墨烯/石墨烯铜基复合材料/基于碳化硅生长高质量石墨烯/片层厚度可调控高质量石墨烯定制
  15. 凸集 凸函数 判定凸函数
  16. 微信群控系统的实现原理,微信群控系统源码的核心实现代码
  17. C++程序设计课程设计报告——自助点餐系统
  18. k8s eviction机制
  19. Android开发 第2课 控件TextView、Plain Text、ImageView、 Button、ImageButton以及点击事件
  20. 通过VM虚拟机安装linux系统(centos版本)

热门文章

  1. 【市场分析1】FinTech之香港虚拟银行VB
  2. 脸盲的东哥从分不清老婆到分不清兄弟,于是用AI进行无人办公!
  3. CCS5.5.0资源及license(免费下载)
  4. IE 10 禁用多点触摸放大缩小页面
  5. 解决python toad包报错joblib.externals.loky.process_executor.TerminatedWorkerError
  6. PDF合并软件推荐【绿色免费】
  7. PDO连接MYSQL报错SQLSTATE[HY000] [2002] ����Ŀ�����������ܾ����޷����ӡ�
  8. 账户系统设计从入门到精通
  9. Python自动化运维之一(Python入门)
  10. Java实现TCP/IP的ping连通性