实例:
访问量趋势数据插入,数据量比较大,手动插入数据会非常繁琐,可以考虑编写一个Python脚本来自动生成这些数据并插入到数据库pv表中。
数据库创表代码:
-- ----------------------------
-- Table structure for pv
-- ----------------------------
DROP TABLE IF EXISTS `pv`;
CREATE TABLE `pv` (
`id` int(0) NOT NULL AUTO_INCREMENT COMMENT '编号',
`time` date NOT NULL COMMENT '日期',
`hits` int(0) NOT NULL DEFAULT 0 COMMENT '点击量',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 638 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '访问记录表' ROW_FORMAT = Dynamic;
Python脚本代码:
# 注意导入三个包
import random
import datetime
import pymysql
# 连接数据库,注意修改user,password,db名
conn = pymysql.connect(host='localhost', user='root', password='123456', db='test')
cursor = conn.cursor()
# 定义数据起始日期和结束日期(这里根据实际修改)
start_date = datetime.date(2021, 4, 6)
end_date = datetime.date(2023, 4, 6)
# 构造插入语句模板,注意修改表名
sql_template = "INSERT INTO `pv` VALUES ({}, '{}', {});"
# 循环生成数据并插入到数据库中
for i in range((end_date - start_date).days + 1):
date = start_date + datetime.timedelta(days=i)
# 生成点击数hits在50-300间波动
pv = random.randint(50, 300)
sql = sql_template.format(i+1, date, pv)
cursor.execute(sql)
# 提交事务并关闭连接
conn.commit()
conn.close()
注意:
需要注意的是,上述代码中的数据库连接参数需要根据实际情况进行修改。此外,如果表格有其他字段,需要在插入语句中添加相应的值。