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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
Python version 2.7 required, which was not found in the registry
Aug 26 Python
python通过pil为png图片填充上背景颜色的方法
Mar 17 Python
Python 正则表达式的高级用法
Dec 04 Python
python3之微信文章爬虫实例讲解
Jul 12 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
Python断言assert的用法代码解析
Feb 03 Python
TensorFlow实现创建分类器
Feb 06 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
详解Python odoo中嵌入html简单的分页功能
May 29 Python
Python字符串格式化输出代码实例
Nov 22 Python
python怎么判断素数
Jul 01 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/09/20 PHP
php变量范围介绍
2012/10/15 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php验证手机号码
2015/11/11 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
Open and Print a Word Document
2007/06/15 Javascript
javascript document.images实例
2008/05/27 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
js DOM的事件常见操作实例详解
2019/12/16 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python中__call__方法示例分析
2014/10/11 Python
实时获取Python的print输出流方法
2019/01/07 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
what is the difference between ext2 and ext3
2013/11/03 面试题
校本教研活动总结
2014/07/01 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle