背景:

  一般来说,navicat生成的insert已经够用了

  如果说一张表有2,30个字段,每个字段还得一一对上,其实是很难的。所以抽空写了个小程序。用它完全不用担心字段对不上了。因为没有时间,需要手动和程序一起执行,但平时用用也是够了,,如果会改的话,可以自己修改。大概思路就这样:先去information_schema库里把字段和说明取出来,再拼接成insert

  环境是python2.7

filename ='user_base_info'
file = open('c:\\table\\new\\'+filename+'.txt', 'r') #sql文件地方
sql_filds=''
sql_values=''
while 1:line = file.readline()arr = line.replace("\n", "").split('$')  #
    if len(arr) ==4:sql_filds+=arr[0]+','sql_values+='\'\',/*'+arr[1].replace(";","")+'_'+arr[2]+'_'+arr[3]+'_'+arr[0]+'*/\n'if not line:breakpasssql_filds =sql_filds[:-1]
sql_values=sql_values[:-1]
#sql_values=sql_filds[0:len(sql_values)-1];
# print sql_filds
#print sql_values
sql='insert into '+filename+'('+sql_filds+')\n values \n('+sql_values+');'
print sql

怎么使用:

1、先执行sql 查询出表里的字段和对应的说明。在mysql中,每个数据库都对应有一个对应架构的数据库information_schema,这个库可以查出表的所有字段和说明。

 SELECT COLUMN_NAME,COLUMN_COMMENT,COLUMN_TYPE,IS_NULLABLE  FROM `COLUMNS` t where t.TABLE_NAME ='t_user_base_info' and t.TABLE_SCHEMA='gamemall_ucenter';

2、导出,将上面的数据导出为以下这种格式,并保存在一个地方

导出后,文件格式为:

uid$用户ID$bigint(20)$NO
account$喵号$bigint(20)$NO
avatar$头像路径$varchar(256)$YES
user_name$用户昵称$varchar(30)$NO
gender$性别(0-男,1-女)$smallint(1)$YES
birthdate$出生日期$date$YES
user_status$用户状态(0-正常,1-冻结)$smallint(1)$NO
first_zm$首字母$varchar(1)$YES
sign_name$用户签名$varchar(100)$YES
area$用户所在地区$varchar(20)$YES
user_register_chl$用户所属渠道号$varchar(50)$YES
has_identified$1、是,2、否$smallint(6)$YES
ctime$创建时间$int(11)$NO
utime$更新时间$int(11)$NO

3、修改代码

filename ='user_base_info'
file = open('c:\\table\\coupon\\'+filename+'.txt', 'r') // sql文件地方

4、执行结果,注意后面多了一个逗号,需要手动去掉。这样就可以一个一个字段对起来啦

insert into user_base_info(uid,account,avatar,user_name,gender,birthdate,user_status,first_zm,sign_name,area,user_register_chl,has_identified,ctime,utime)values
('',/*用户ID_bigint(20)_NO_uid*/
'',/*喵号_bigint(20)_NO_account*/
'',/*头像路径_varchar(256)_YES_avatar*/
'',/*用户昵称_varchar(30)_NO_user_name*/
'',/*性别(0-男,1-女)_smallint(1)_YES_gender*/
'',/*出生日期_date_YES_birthdate*/
'',/*用户状态(0-正常,1-冻结)_smallint(1)_NO_user_status*/
'',/*首字母_varchar(1)_YES_first_zm*/
'',/*用户签名_varchar(100)_YES_sign_name*/
'',/*用户所在地区_varchar(20)_YES_area*/
'',/*用户所属渠道号_varchar(50)_YES_user_register_chl*/
'',/*1、是,2、否_smallint(6)_YES_has_identified*/
'',/*创建时间_int(11)_NO_ctime*/
'',/*更新时间_int(11)_NO_utime*/); -- 这里的逗号要去掉 加了红色的背景色那

转载于:https://www.cnblogs.com/milanmi/p/8267104.html

Python 生成MYSQL inser语句相关推荐

  1. python导出mysql授权语句

    vi grants.py import sys import getopt import pymysqlopts, args = getopt.getopt(sys.argv[1:], "m ...

  2. 用concat批量生成MySQL查询语句

    需求背景: 一个库有2个用户,比如gsgz和gxsnerp. gsgz的用户有这个库的所有权限,而gxsnerp这个用户只有部分表的权限,所以不能直接用grant all on ...这个语句来给权限 ...

  3. pdm生成mysql sql语句_PDM文件生成sql执行语句

    一.pdm生成sql: 1.Database --->Database Generation或者 CTRL+G快捷键 打开生成对话框,做下面的相关设置后,点击ok即可生成sql脚本. 一.pdm ...

  4. pdm生成mysql sql语句_如何用Powerdesigner的PDM生成数据库

    展开全部 工具: Sybase PowerDesigner 15.1 Microsoft SQL Server 2005 第一步概要设计: 打开PowerDesigner软件,设计"概念数据 ...

  5. awk读取txt生成mysql插入语句

    #!/bin/bash TABFILE="tabfile.txt" FILENAME="$1"#读入的文件名字,第一个参数 num=0; #cat $FILEN ...

  6. mysql 回滚_一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具

    goInception 一个集审核.执行.备份及生成回滚语句于一身的MySQL运维工具, 通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能 架构图 使用方 ...

  7. powerdesigner生成php代码,让powerdesigner生成的sql语句在mysql上成功执行

    花了大概半天的时间学习了下powerdesigner的用法,等我生成sql语句时,发现在生成的sql语句根本不能在mysql中执行,当然我的dbms是设置了mysql的. 在网上搜索一通,也没有什么好 ...

  8. mysql打印语句_最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)

    点击上方"AirPython",选择"加为星标" 第一时间关注 Python 技术干货! 1. 前言 在爬虫.自动化.数据分析.软件测试.Web 等日常操作中, ...

  9. python动态生成数据库表 orm_Python自动化 【第十二篇】:Python进阶-MySQL和ORM

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

最新文章

  1. java 变量的线程可见性_Java多线程——变量可见性
  2. Nature news: 未来40年,DNA测序将走向何方?
  3. 2018年看好这些半导体企业
  4. jQuery和AngularJS的区别小分析
  5. Selenium 自动化测试之道--Maven-TestNG
  6. SpringCloud熔断器介绍
  7. mysqldump 备份原理8
  8. JavaScript or JQuery 获取服务器时间
  9. 3P新产品开发管理实务
  10. 应用代理 socket TCP协议 的资料
  11. python mac地址_如何使用Python生成MAC地址
  12. COM组件的编写与注册
  13. [imblearn]-欠采样模型合集
  14. 关于USB有线网卡对校园网不兼容解决方案
  15. 如何免费且快速的搭建个人网站
  16. 登陆和登录,login
  17. 复选框的全选、全不选、和获取选中的值;
  18. Java零基础笔记自用版(一)
  19. linux查找最近文件在哪里,Linux查找最近修改的文件
  20. 计算机组成原理(7)指令系统——偏移寻址、堆栈寻址、CISC和RISC

热门文章

  1. div+css 技巧摘录
  2. 鸿蒙正式推送时间,鸿蒙系统现已正式推送,更新名单也随之出炉,包括荣耀手机!...
  3. Struts2 action之间相互跳转传递参数
  4. golang中的闭包
  5. 玩转数据结构从入门到进阶三
  6. golang中的strings.EqualFold
  7. 数据结构与算法:异或运算
  8. 数据结构:前缀,中缀,后缀表达式(逆波兰表达式)
  9. SAPGUI系统登录页面配置的SAProuter有什么用
  10. erlang四种启动监控策略