You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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('插入数据失败')