python实现数据库批量数据插入.
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python实现数据库批量数据插入.,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2638字,纯文字阅读大概需要4分钟。
内容图文
![python实现数据库批量数据插入.](/upload/InfoBanner/zyjiaocheng/866/009ee2941f38409ea856aa019eb157ce.jpg)
需求:
1.需要往数据库插入批量数据,且数据需要随机,带有日期格式的数据。
2.查看目的接收表,存在唯一key,字段2是日期格式。其他数据可以一样。
首先需要写一个链接数据库的函数:import MySQLdb
class MySql():
def __init__(self, db):
self.mysql = MySQLdb.Connect(
host="10.100.111.111",
port=33066,
user="mysql",
passwd="123456",
db=db,
charset="utf8")
self.cursor = self.mysql.cursor()
def quary(self, sql):
"""
查询
:param sql:
:return:
"""
self.cursor.execute(sql)
result = self.cursor.fetchall()
return result
def update(self, sql):
"""
修改
:param sql:
:return:
"""
self.cursor.execute(sql)
self.mysql.commit()
def delete(self, sql):
"""
删除
:param sql:
:return:
"""
self.cursor.execute(sql)
self.mysql.commit()
def insert(self, sql):
"""
插入
:param sql:
:return:
"""
self.cursor.execute(sql)
self.mysql.commit()
return "success"
def close(self):
self.mysql.close()
然后利用python循环写一个日期格式转化的函数:
class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime("%Y-%m-%d %H:%M:%S")
else:
return json.JSONEncoder.default(self, obj)
def test1(self):
"""
id为唯一key,不能相同,需要查询到count总数得到id 时间是当前时间+1天生成sql语句
"""
ids = 174
cur_date = time.strftime("%Y-%m-%d")
start_time = datetime.strptime(cur_date, "%Y-%m-%d")
for i in range(50):
ids = ids + 1
dt = start_time + timedelta(days=i)
to_date = json.dumps(dt, cls=DateEncoder) # 将datetime格式转化为json格式
to_date = to_date[1:11] # 取string中的年月日
value = (
ids, to_date, '0104', '10', '1609725600', 64, '产品测试', 1100018191, 'mytest',
'5ff674f5e4b0fd510e457fd2', '1.7号啊',
0, '01', '06', '01', '0', '菜单2', '908E14881C52DF30A50C93491AE2BA8C', '1', '123', 10001, 9999, 912)
sql = """INSERT INTO ads_marketing_report.test_table(id, dt, fdate, ftime, servertime, agency_id, agency_name, owner_id, owner_name, service_id, service_name, service_platform, sbiztype, tritype, menulev, menuseq, btnele, btnlinkmd, functype, smssource, expose_nums, expose_uv, click_nums)
VALUES""" + str(value).decode('string_escape')
mysql.insert(sql=sql)
插入多少条 循环多少次就行,或者研究下存储过程插入也行的
内容总结
以上是互联网集市为您收集整理的python实现数据库批量数据插入.全部内容,希望文章能够帮你解决python实现数据库批量数据插入.所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。