1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python批量创建数据库表_使用 Pymysql 批量生成数据表

python批量创建数据库表_使用 Pymysql 批量生成数据表

时间:2023-06-03 21:37:19

相关推荐

python批量创建数据库表_使用 Pymysql 批量生成数据表

下笔原因

按照每个网页生成对应的数据表,结构一样, 但表名不同。

那么用 pymysql 批量生成应该比较容易, Google下,在stackoverflow和官方文档都没有找到完整示例,

自己动手吧,欢迎拍砖。

要点

写SQL语句时使用注意str 的拼接。

实例

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import pymysql.cursors

tablename = ["河南","山东", "山西", "上海", "福建"]

connection = pymysql.connect(host='localhost',

user='root',

password='siliver88',

db='test',

charset='utf8',

cursorclass=pymysql.cursors.DictCursor)

try:

with connection.cursor() as cursor:

for name in tablename:

checksql = '''DROP TABLE IF EXISTS {}'''.format(name)

cursor.execute(checksql)

sql = '''CREATE TABLE {}(

`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '记录id',

`isAlive` Boolean NOT NULL DEFAULT TRUE,

`zb_url` VarChar(255) NOT NULL DEFAULT '' COMMENT '公告页面',

`file_url` VarChar(255) NOT NULL DEFAULT '' COMMENT '项目公告文件',

`title` VarChar(255) NOT NULL DEFAULT '' COMMENT '项目名称',

`content` MediumText COMMENT '段落内容',

`lettercard` MediumText COMMENT '单元格内容',

`createtime` int(11) NOT NULL DEFAULT 0 COMMENT '收录时间',

`deadline` int(11) NOT NULL DEFAULT 0 COMMENT '截标时间',

`bsdeadline` int(11) NOT NULL DEFAULT 0 COMMENT '标书购买截止时间',

`bmdeadline` int(11) DEFAULT 0 COMMENT '报名截止日期',

`kbsj` int(11) NOT NULL DEFAULT 0 COMMENT '开标时间',

`bsfyxs` VarChar(100) NOT NULL DEFAULT '下载前支付' COMMENT '标书费用形式',

`xmjs` VarChar(100) DEFAULT '' COMMENT '项目介绍',

`telephone` int(20) NOT NULL DEFAULT 0 COMMENT '联系电话',

`projectclass` varchar(255) NOT NULL DEFAULT '' COMMENT '项目类型',

`tenderee` varchar(100) NOT NULL DEFAULT '' COMMENT '招标人',

`contact` varchar(100) NOT NULL DEFAULT '' COMMENT '联系人',

`agent` varchar(255) NOT NULL DEFAULT '' COMMENT '代理机构',

PRIMARY KEY(`id`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8'''.format(name)

cursor.execute(sql)

mit()

finally:

connection.close()

print("Create tables done!")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。