Python 生成MYSQL inser语句
生活随笔
收集整理的這篇文章主要介紹了
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)$NO3、修改代碼
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
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Python 生成MYSQL inser语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 选择company回显appname
- 下一篇: 3、Python字典集合