基于python的mysql操作程序

建表+数据库插入

#coding=utf-8
# 达达
# 2021-6-11


# 导入库
import pymysql

# 打开数据库连接
# localhost:主机ip
# 数据库账号:
# 数据库密码:     
# 数据库名称:
db = pymysql.connect("主机ip", "数据库账号", "数据库密码", "数据库", charset='utf8' )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 创建数据表SQL语句
# 创新表     表名
# 设置id,为主键,自增
# 设置title 为Text类型非空
# 设置href  为 Text类型非空
# 设置time 为char类型,长度最大30
# 后续类似

try:
    sql = "CREATE TABLE `数据库名`.`表名` ( `id` INT NOT NULL AUTO_INCREMENT , `title` TEXT NOT NULL , `href` TEXT NOT NULL , `time` VARCHAR(30) NOT NULL , `source` VARCHAR(30) NOT NULL , `article` TEXT NOT NULL , `article_list` TEXT NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;"
    cursor.execute(sql)
except:
    print("数据库已创建")

# 导入数据
import pandas as pd
from tqdm import tqdm

# 导入json数据
data = pd.read_json("./data2/comp_indus_sum.json",encoding="utf-8")

for i in tqdm(range(len(data))):

    #------------------------------
    #  看json的基础信息
    # print(data.iloc[0])
    #  _id                          {'$oid': '5f991a055e29b2de980dad25'}
    #  article         10月28日,一场中国投资界顶级盛会启幕!百位基金行业大佬、研究领域大咖、上市公司高管齐聚深...
    # article_list    [10月28日,一场中国投资界顶级盛会启幕!百位基金行业大佬、研究领域大咖、上市公司高管齐聚...
    #----------------

    data_sample = data.iloc[i]

    article = data_sample['article']
    href = data_sample['href']
    time = data_sample['time']
    title = data_sample['title']
    article_list = str(data_sample['article_list'])
    source = str(data_sample['source'])

    if article=="":
        continue

    # SQL 插入语句
    sql1 = "INSERT INTO `表名`(`id`,`title`, `href`, `time`, `source`, `article`, `article_list`) VALUES (NULL,'{0}','{1}','{2}','{3}','{4}','{5}')".format(title.replace('''"''',r'''\"''').replace("'",r"\'"),href,time,source,article.replace('''"''',r'''\"''').replace("'",r"\'"),article_list.replace('''"''',r'''\"''').replace("'",r"\'"))

    # 执行sql语句
    try:
        cursor.execute(sql1)
    except:
        print(i)
    # 提交到数据库执行
    db.commit()



# 关闭数据库连接
db.close()

你可能感兴趣的:(基于python的mysql操作程序)