python如何操作mysql


Posted in Python onAugust 17, 2020

mysql 使用

启动服务

sudo systemctl start mysql
pip3 install pymysql

python 操作数据库:

  • 定义类
import pymysql

class MyDb():
  def __init__(self, host, user, passwd, db):
      self.__db = pymysql.connect(host, user, passwd, db)
      self.__cursor = self.__db.cursor()

  # 增删改-数据库
  def set(self, sql):
    try:
      self.__cursor.execute(sql)
      self.__db.commit()
    except Exception as e:
      self.__db.rollback()
      print('Execute Error: \n {e}')

  # 查-数据库
  def get(self, sql, fetchone=True):
    self.__cursor.execute(sql)
    try:
      if fetchone == True:
        data = self.__cursor.fetchone()
      else:
        data = self.__cursor.fetchall()
    except Exception as e:
      print('Execute Error: \n {e}')
      data = None
    finally:
      return data

  # 关闭数据库
  def close(self):
    self.__db.close()
  • 调用
def example():
  ## 实例化数据库
  ### 类参数:host、user、passwd、db
  db = MyDb('localhost', 'root', 'zuoy123', 'test')
  
  ## 查看版本
  get_version_sql = 'SELECT VERSION()'
  version = db.get(get_version_sql)
  print(f'Database Version: {version}')

  ## 删除表
  delete_table_sql = 'DROP TABLE IF EXISTS employee'
  db.set(delete_table_sql)

  ## 新建表
  new_table_sql = 'CREATE TABLE IF NOT EXISTS employee( \
    id INT NOT NULL PRIMARY KEY, \
    name CHAR(21) NOT NULL, \
    age DOUBLE DEFAULT 18)'
  db.set(new_table_sql)

  ## 查找表
  get_table_sql = 'SHOW TABLES'
  data = db.get(get_table_sql)
  if data:
    print(data)

  ## 关闭数据库
  db.close()

if __name__ == '__main__':
  example()

常用sql

DROP TABLE IF EXISTS employee;
CREATE TABLE IF NOT EXISTS employee(id INT);

以上就是python操作 mysql的步骤的详细内容,更多关于python操作 mysql的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
Python实现从脚本里运行scrapy的方法
Apr 07 Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 Python
python通过opencv实现批量剪切图片
Nov 13 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
Django之模型层多表操作的实现
Jan 08 Python
python给微信好友定时推送消息的示例
Feb 20 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python实现画图工具
Aug 27 Python
python 实现表情识别
Nov 21 Python
Python 视频画质增强
Apr 28 Python
详解python 内存优化
Aug 17 #Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 #Python
详解Python 中的容器 collections
Aug 17 #Python
Python 解析库json及jsonpath pickle的实现
Aug 17 #Python
Python实现爬取网页中动态加载的数据
Aug 17 #Python
Python 如何操作 SQLite 数据库
Aug 17 #Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 #Python
You might like
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
linux中cd命令使用详解
2015/01/08 PHP
php生成验证码函数
2015/10/20 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
Python logging模块学习笔记
2014/05/24 Python
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
中学生英语演讲稿
2014/04/26 职场文书
竞聘上岗演讲
2014/05/19 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
详解Python描述符的工作原理
2021/06/11 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android
全网非常详细的pytest配置文件
2022/07/15 Python