|
|
import pymysql
|
|
|
|
|
|
|
|
|
class sql():
|
|
|
|
|
|
def __init__(self):
|
|
|
# 连接MySQL(socket)
|
|
|
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', charset="utf8", db="bossdb")
|
|
|
cursor = conn.cursor()
|
|
|
self.conn = conn
|
|
|
self.cursor = cursor
|
|
|
|
|
|
|
|
|
|
|
|
def create_table(self,table_name):
|
|
|
try:
|
|
|
# 创建一个游标
|
|
|
cursor = self.cursor
|
|
|
conn = self.conn
|
|
|
#判断是否创建过该表
|
|
|
result = cursor.execute("SHOW TABLES LIKE '{}'".format(table_name))
|
|
|
if result:
|
|
|
# print('{0}表已存在'.format(table_name))
|
|
|
# choose=input('是否要删除{0}表?(y/n)'.format(table_name))
|
|
|
# #删除表,重新插入数据
|
|
|
# if choose=='y':
|
|
|
sql='drop table {0};'.format(table_name)
|
|
|
cursor.execute(sql)
|
|
|
# print('已删除{0}表,正常重新创建--------------'.format(table_name))
|
|
|
create_table ='create table '+table_name+'(job_name varchar(20),job_area varchar(20),salary varchar(20),job_tag varchar(20),job_ability varchar(50),company_name varchar(20),company_info varchar(200),welfare varchar(100),job_des varchar(150),company_type varchar(60),address varchar(60),link varchar(150))ENGINE=InnoDB DEFAULT CHARSET=utf8;'
|
|
|
cursor.execute(create_table)
|
|
|
conn.commit()
|
|
|
print(table_name + '表创建完毕')
|
|
|
#不删除表,继续插入数据
|
|
|
else:
|
|
|
create_table ='create table '+table_name+'(job_name varchar(20),job_area varchar(20),salary varchar(20),job_tag varchar(20),job_ability varchar(50),company_name varchar(20),company_info varchar(200),welfare varchar(100),job_des varchar(150),company_type varchar(60),address varchar(60),link varchar(150))ENGINE=InnoDB DEFAULT CHARSET=utf8;'
|
|
|
cursor.execute(create_table)
|
|
|
conn.commit()
|
|
|
print(table_name + '表创建完毕')
|
|
|
except:
|
|
|
print('创建数据表失败,请查看mysql服务是否开启、密码是否正确')
|
|
|
|
|
|
|
|
|
def Insert_datas(self,table_name,dicts):
|
|
|
try:
|
|
|
n=0
|
|
|
for content in dicts:
|
|
|
job_name = content['职位名称']
|
|
|
job_area = content['地区']
|
|
|
salary = content['薪水']
|
|
|
job_tag = content['标签']
|
|
|
job_ability = content['能力要求']
|
|
|
company_name = content['公司名字']
|
|
|
company_info = content['公司介绍']
|
|
|
welfare = content['福利待遇']
|
|
|
job_des = content['职位描述']
|
|
|
company_type = content['企业类型']
|
|
|
address = content['工作地址']
|
|
|
link = content['详情链接']
|
|
|
|
|
|
#将信息插入表中
|
|
|
cursor = self.cursor
|
|
|
conn = self.conn
|
|
|
sql='insert into '+table_name+"(job_name,job_area,salary,job_tag,job_ability,company_name,company_info,welfare,job_des,company_type,address,link) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')".format(job_name,job_area,salary,job_tag,job_ability,company_name,company_info,welfare,job_des,company_type,address,link)
|
|
|
cursor.execute(sql)
|
|
|
conn.commit()
|
|
|
n+=1
|
|
|
print('本次程序已插入{0}条数据'.format(n))
|
|
|
except:
|
|
|
print('插入数据失败')
|
|
|
|
|
|
|
|
|
|
|
|
|