基于python的mysql操作程序

建表+數(shù)據(jù)庫插入

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


# 導入庫
import pymysql

# 打開數(shù)據(jù)庫連接
# localhost:主機ip
# 數(shù)據(jù)庫賬號:
# 數(shù)據(jù)庫密碼:     
# 數(shù)據(jù)庫名稱:
db = pymysql.connect("主機ip", "數(shù)據(jù)庫賬號", "數(shù)據(jù)庫密碼", "數(shù)據(jù)庫", charset='utf8' )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# 創(chuàng)建數(shù)據(jù)表SQL語句
# 創(chuàng)新表     表名
# 設置id,為主鍵,自增
# 設置title 為Text類型非空
# 設置href  為 Text類型非空
# 設置time 為char類型,長度最大30
# 后續(xù)類似

try:
    sql = "CREATE TABLE `數(shù)據(jù)庫名`.`表名` ( `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("數(shù)據(jù)庫已創(chuàng)建")

# 導入數(shù)據(jù)
import pandas as pd
from tqdm import tqdm

# 導入json數(shù)據(jù)
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日,一場中國投資界頂級盛會啟幕!百位基金行業(yè)大佬、研究領域大咖、上市公司高管齊聚深...
    # article_list    [10月28日,一場中國投資界頂級盛會啟幕!百位基金行業(yè)大佬、研究領域大咖、上市公司高管齊聚...
    #----------------

    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"\'"))

    # 執(zhí)行sql語句
    try:
        cursor.execute(sql1)
    except:
        print(i)
    # 提交到數(shù)據(jù)庫執(zhí)行
    db.commit()



# 關閉數(shù)據(jù)庫連接
db.close()
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容