Python 生成MYSQL inser语句
背景:
一般来说,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语句相关推荐
- python导出mysql授权语句
vi grants.py import sys import getopt import pymysqlopts, args = getopt.getopt(sys.argv[1:], "m ...
- 用concat批量生成MySQL查询语句
需求背景: 一个库有2个用户,比如gsgz和gxsnerp. gsgz的用户有这个库的所有权限,而gxsnerp这个用户只有部分表的权限,所以不能直接用grant all on ...这个语句来给权限 ...
- pdm生成mysql sql语句_PDM文件生成sql执行语句
一.pdm生成sql: 1.Database --->Database Generation或者 CTRL+G快捷键 打开生成对话框,做下面的相关设置后,点击ok即可生成sql脚本. 一.pdm ...
- pdm生成mysql sql语句_如何用Powerdesigner的PDM生成数据库
展开全部 工具: Sybase PowerDesigner 15.1 Microsoft SQL Server 2005 第一步概要设计: 打开PowerDesigner软件,设计"概念数据 ...
- awk读取txt生成mysql插入语句
#!/bin/bash TABFILE="tabfile.txt" FILENAME="$1"#读入的文件名字,第一个参数 num=0; #cat $FILEN ...
- mysql 回滚_一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具
goInception 一个集审核.执行.备份及生成回滚语句于一身的MySQL运维工具, 通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能 架构图 使用方 ...
- powerdesigner生成php代码,让powerdesigner生成的sql语句在mysql上成功执行
花了大概半天的时间学习了下powerdesigner的用法,等我生成sql语句时,发现在生成的sql语句根本不能在mysql中执行,当然我的dbms是设置了mysql的. 在网上搜索一通,也没有什么好 ...
- mysql打印语句_最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
点击上方"AirPython",选择"加为星标" 第一时间关注 Python 技术干货! 1. 前言 在爬虫.自动化.数据分析.软件测试.Web 等日常操作中, ...
- python动态生成数据库表 orm_Python自动化 【第十二篇】:Python进阶-MySQL和ORM
本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...
最新文章
- java 变量的线程可见性_Java多线程——变量可见性
- Nature news: 未来40年,DNA测序将走向何方?
- 2018年看好这些半导体企业
- jQuery和AngularJS的区别小分析
- Selenium 自动化测试之道--Maven-TestNG
- SpringCloud熔断器介绍
- mysqldump 备份原理8
- JavaScript or JQuery 获取服务器时间
- 3P新产品开发管理实务
- 应用代理 socket TCP协议 的资料
- python mac地址_如何使用Python生成MAC地址
- COM组件的编写与注册
- [imblearn]-欠采样模型合集
- 关于USB有线网卡对校园网不兼容解决方案
- 如何免费且快速的搭建个人网站
- 登陆和登录,login
- 复选框的全选、全不选、和获取选中的值;
- Java零基础笔记自用版(一)
- linux查找最近文件在哪里,Linux查找最近修改的文件
- 计算机组成原理(7)指令系统——偏移寻址、堆栈寻址、CISC和RISC