主要是工具类,使用pymysql来创建表与SQL

示例代码

import pymysqlclass UseMysql(object):def __init__(self, user, passwd, db, host="127.0.0.1", port=3306):self.db = dbself.conn = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=port, charset='utf8')  # 链接数据库self.cursor = self.conn.cursor()def table_exists(self, table_name) -> bool:"""判断表是否存在:param table_name: 表名:return: 存在返回True,不存在返回False"""sql = "show tables;"self.cursor.execute(sql)tables = self.cursor.fetchall()for _t in tables:if table_name == _t[0]:return Truereturn Falsedef create_table(self, data: dict, table_name):"""创建表"""# 构造数据库sql_key_str = ''columnStyle = ' text'  # 数据库字段类型for key in data.keys():sql_key_str = sql_key_str + ' ' + key + columnStyle + ','self.cursor.execute("CREATE TABLE %s (%s)" % (table_name, sql_key_str[:-1]))# 添加自增IDself.cursor.execute("""ALTER TABLE `{}` \ADD COLUMN `id` INT NOT NULL AUTO_INCREMENT FIRST, \ADD PRIMARY KEY (`id`);""".format(table_name))# 添加创建时间self.cursor.execute("""ALTER TABLE {} ADD join_time timestamp NULL DEFAULT current_timestamp();""".format(table_name))def write_dict(self, data: dict, table_name):"""写入mysql,如果没有表,创建表:param data: 字典类型:param table_name: 表名:return:"""if not self.table_exists(table_name):self.create_table(data, table_name)sql_key = ''  # 数据库行字段sql_value = ''  # 数据库值for key in data.keys():  # 生成insert插入语句sql_value = (sql_value + '"' + pymysql.escape_string(data[key]) + '"' + ',')sql_key = sql_key + ' ' + key + ','self.cursor.execute("INSERT INTO %s (%s) VALUES (%s)" % (table_name, sql_key[:-1], sql_value[:-1]))self.conn.commit()  # 提交当前事务if __name__ == '__main__':mysql = UseMysql('用户名', '密码', '数据库名')my_data1 = {"col1": "a", "col2": "b", "col3": "c", }mysql.write_dict(my_data1, table_name="mytable")my_data2 = {"col1": "a2", "col2": "b2"}mysql.write_dict(my_data2, table_name="mytable")

Python保存dict字典类型数据到Mysql,并自动创建表与列相关推荐

  1. Pycharm中快速设置headers为字典类型数据

    Pycharm中快速设置headers为字典类型数据 在每次爬虫时总是要写请求头,从浏览器中复制一大段headers数据,而复制过来以后又要每段数据加上引号将其设置成字典类型,像这样: 看了想必都难受 ...

  2. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  3. html5数据提交到mysql,保存html5画布作为数据到mysql数据库

    这可能是不可能的,它只是非常适合我的情况.我使用html5画布作为幻灯片演示者,用户可以使用它并将其保存到本地机器上.保存html5画布作为数据到mysql数据库 我的目标是改为以某种不同的方式将其保 ...

  4. 中英文学习Python中的字典类型

    中英文学习Python中的字典类型 请看视频: Python中的字典类型,中英文学习,并简单介绍了哈希

  5. mysql中什么是表?列?行?什么是主键和外键?什么是索引?为什么要使用索引?

    mysql中什么是表?列?行? 在关系数据库中,表(Table)是数据的主要组织单元.它是由一组命名的列和行组成,用于存储和组织数据. 列(Column)是表中的一个字段,用于存储特定类型的数据.每个 ...

  6. Hibernate连接mysql数据库并自动创建表

    天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...

  7. mysql 动态 建表,mysql数据库动态创建表的实例分享

    摘要 腾兴网为您分享:mysql数据库动态创建表的实例分享,易视云3,完美root,刷机大师,手游宝等软件知识,以及清仓兔,找明星,爱普生1500w,txt完结小说全本软件,windows自带画图软件 ...

  8. P3项目全球模板狗血设置之二 --- 移动类型523收货不能自动创建批次号

    P3项目全球模板狗血设置之二 --- 移动类型523收货不能自动创建批次号 在P3项目中,因项目实施范围限制等诸多原因,对于工厂的自制品,在SAP系统上使用MIGO + 523 移动类型组合来完成收货 ...

  9. 14.Python数据类型(五)【dict字典类型】

    目录: 每篇前言: Python数据类型(五) 1. dict字典 第一小节课 之 认识字典: (1)如何创建并访问字典 ①创建字典: 两个拓展操作--教你如何快速创建一个字典! ②访问字典: 第一阶 ...

最新文章

  1. SAX解析XML文档——(二)
  2. 使用JCIFS获取远程共享文件
  3. 举例说明信息熵、互信息的计算过程
  4. 20190110-用笨办法找到二维矩阵的鞍点
  5. Spring boot登录错误提示
  6. flex中自定义皮肤的按钮制作
  7. 了解如何解决OSGI捆绑包
  8. mysql中limit用法
  9. mongodb php 删除,MongoDB / PHP:从数组中删除元素
  10. python语句print(type)的输出结果是_Python语句print(type({ }))的输出结果是( )。_学小易找答案...
  11. matlab分析xml文件_修改Java中的XML文件(DOM分析器)
  12. Docker镜像保存save、加载load
  13. 企业文化是数字化转型最大障碍-解读《2022年首席数据官调查报告》
  14. Python 爬虫--网站下载器
  15. 遇见心想事成的自己……
  16. SEC S3C2410X Test B/D 驱动
  17. 中国区GPS偏移纠正(适用于Google地图)
  18. 解决异常-ORA-01747 invalid user.table.column, table.column, or column specification
  19. ubuntu20.04主屏幕与扩展屏同步
  20. 301 Moved Permanently错误

热门文章

  1. python怎么创建字符串_Python 字符串
  2. python付费课程推荐知乎_新手小白学习Python,有什么课程推荐吗?
  3. 计算机图形学考研学校深圳大学,厉害了!深大计算机图形学在亚洲排第三!
  4. php $db-gt;query 行数,php – 如何在CodeIgniter中组合query()和limit()方法
  5. Page cache和Buffer cache
  6. 二叉树的深度和广度优先搜索算法
  7. 单例设计模式 (2)
  8. Notepad++ 大小写转换
  9. 架构整洁之道 pdf_代码有整洁之道,而架构同样有整洁之道
  10. oracle mysql 安全性_oracle mysql语句