mysql 数据库转 存mdb py脚本

import MySQLdb
import win32com.client
import os, sys
os.chdir(sys.path[0])


con = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=yk.mdb;'
sql_statement = "Insert INTO users(uid,name,pass,email) VALUES('%s','%s','%s','%s')"   
con.Open(DSN)  

sql=MySQLdb.Connect("127.0.0.1","root","123","abc",charset='gbk')
conn=sql.cursor()
conn.execute("SET NAMES gbk");
sql.commit();
conn.execute("select uid,name,pass,mail from users")

for i in conn.fetchall():
    #try:
    print(i[0],i[1],i[2],i[3])
    con.Execute(sql_statement % (i[0],i[1],i[2],i[3]))

    #except Exception as t:print(t)


con.Close()

工作需要,所以随手写一个,以后用得上的时候直接看。

注意:mdb中不能有user,password等表明,字段字眼否则莫名其妙错。


读取access:

# -*- coding: gb2312 -*-
import win32com.client
import os, sys, string
 
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=yk.mdb;'
conn.Open(DSN)
 
print ("connect...")
 
rs = win32com.client.Dispatch(r'ADODB.Recordset')

rs.Open('Select * FROM users', conn,1, 3)

# 注意:如果一个记录是空的,将导致一个错误,所以我加了一句判断有没有记录,防止错误.
if rs.recordcount==0:
    sys.exit()
 
rs.MoveFirst()
print (rs.recordcount)
 
while not rs.EOF:
    print(rs.Fields.Item(0).Value,rs.Fields.Item(1).Value,rs.Fields.Item(2).Value,rs.Fields.Item(3).Value)
    print ("-------------------------------------")
    rs.MoveNext()
 
print ("Record Count: ",rs.recordcount)
 
rs.Close()

写access:

# -*- coding: gb2312 -*-
import win32com.client
import os, sys, string
 
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=yk.mdb;'
sql_statement = "Insert INTO users(id,name,pass,email) VALUES('id','data1','data2','data3')"   
conn.Open(DSN)   
conn.Execute(sql_statement)   
conn.Close()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值