首页 > 数据库 >df_sql_str

df_sql_str

时间:2023-08-19 22:55:22浏览次数:38  
标签:TARGET df DATAFRAME SOURCE STATEMENT str sql

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

import pandas as pd
import numpy as np

# 生成一个df
dates = pd.date_range('20210913', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(df)

# 定义df输入源,以及目标表名
SOURCE = df
TARGET = 'table_name'


# 定义生成CREATE语句方法
def SQL_CREATE_STATEMENT_FROM_DATAFRAME(SOURCE, TARGET):
# SQL_CREATE_STATEMENT_FROM_DATAFRAME(SOURCE, TARGET)
# SOURCE: source dataframe
# TARGET: target table to be created in database

import pandas as pd
sql_text = pd.io.sql.get_schema(SOURCE.reset_index(), TARGET)
return sql_text


# 定义生成INSERT语句方法
def SQL_INSERT_STATEMENT_FROM_DATAFRAME(SOURCE, TARGET):
sql_texts = []
for index, row in SOURCE.iterrows():
sql_texts.append(
'INSERT INTO ' + TARGET + ' (' + str(', '.join(SOURCE.columns)) + ') VALUES ' + str(tuple(row.values)))
return sql_texts


print(SQL_INSERT_STATEMENT_FROM_DATAFRAME(df, TARGET))
print(SQL_CREATE_STATEMENT_FROM_DATAFRAME(df, TARGET))

# 调用sql字符串批量插入数据
for sql in SQL_CREATE_STATEMENT_FROM_DATAFRAME(df, TARGET):
execute_sql(sql)

 

标签:TARGET,df,DATAFRAME,SOURCE,STATEMENT,str,sql
From: https://www.cnblogs.com/liyiyu/p/17643366.html

相关文章

  • mybatis设置命名格式转换 与 批量插入更新&select查询返回自定义实体类 的sql写法
    在mybatis的配置文件中设置了Java实体类驼峰命名与表属性下划线命名的自动转换。在mybatis中,从接口获取到大量数据之后,将数据集合分批量插入更新到表中。在mybatis中,select查询表数据,返回数据的存储类型为自定义的实体类。1.设置Java实体类驼峰命名与表属性下划线......
  • MySQL基本SQL语句1(DDL)
    前言SQL(StructuredQueryLanguage)结构化查询语言,用于存取,查询,更新数据以及管理关系型数据库系统SQL指令分为四类DDL        DataDefintionlanguage数据库定义语言                用于完成对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改DML......
  • MySQL基本SQL语句1(DDL)
    前言SQL(StructuredQueryLanguage)结构化查询语言,用于存取,查询,更新数据以及管理关系型数据库系统SQL指令分为四类DDL        DataDefintionlanguage数据库定义语言                用于完成对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改DML......
  • tracer ftrace笔记(20)—— Systrace中tag汇总
    一、视频显示1.HW_VSYNC_ON_XXX(1)类型布尔值,1表示HWVSYNC信号开关被打开,0表示开关被关闭。(2)时机HWVYSNC硬件信号被打开和关闭的时候。(3)解释HW_VSYNC_ON_XXX后面的XXX一般是一串数字,代表的是displayid,如果你的机器有外接了显示器,那么可以通过displayid......
  • SQL注入基础学习
    SQL注入基础一、sql注入的基本知识Ⅰ、sql注入原理通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通常未经检查或者未经充分检查的用户输入数据或代码编写问题,意外变成了代码被执行。产生漏洞的条件:参数用户可控参......
  • 记一次MySQL数据库被黑
    情况概述偶然获得了一台云服务器,并在上面使用Docker搭建了MySQL数据库,想着将平时做Demo用到的数据转过去,结果一直犯懒没弄.今天在登陆时发现数据库被黑了.使用showdatabases命令后看到一个名为README_TO_RECOVER_A的库,库中有张表,表的内容为:Allyourdataisbacke......
  • 【论文阅读】Self-Alignment with Instruction Backtranslation自对齐与指令反翻译
     Self-AlignmentwithInstructionBacktranslation自对齐与指令反翻译摘要:在当今的人工智能时代,语言模型的训练和优化已成为研究的热点。本文介绍了一种创新且可扩展的方法,通过为人编写的文本自动标注相应的指令,构建高质量的指令跟随语言模型。此研究的方法,被命名为“指令反......
  • MySQL技能树学习
    在MySQL相关技能树的学习过程当中,存在一些问题,比如在移动端的学习体验和PC的学习体验不一样,这个相信学习过的朋友都有所感觉。尤其移动端的技能树切换、同一个技能树内,不同节点的切换,都比较繁琐。PC感觉还好,同样不太好的还有在移动端的返回功能比较难用,   整体而言,MySQL的技......
  • Navicat执行mysql脚本报错
    1、错误日志[Err]1055-Expression#1ofORDERBYclauseisnotinGROUPBYclause andcontainsnonaggregatedcolumn'information_schema.PROFILING.SEQ' whichisnotfunctionallydependentoncolumnsinGROUPBYclause; thisisincompatiblewith......
  • 大华智慧园区综合管理平台SQL注入漏洞复现
    一、产品简介大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。二、漏洞概述大华智慧园区综合管理平台未对用户的输入进行有效的过滤,直接将其拼接进了S......