【腾讯云TDSQL-C Serverless产品体验】使用 Python 向 TDSQL-C中添加文章标题和作者名称

前言

本文将为大家介绍如何使用Python向腾讯云TDSQL-C Serverless中添加文章标题和作者名称。TDSQL-C Serverless是腾讯云最新推出的一款全新产品,它可以自动扩缩容,无需手动管理,让用户更加专注于业务开发。而Python作为一门高级编程语言,已经成为了数据科学和人工智能领域中最受欢迎的编程语言之一。本文将结合实际案例,详细阐述如何使用Python连接数据库,读取数据并进行分析的步骤和注意事项。希望通过本文的介绍,读者们可以更好地掌握TDSQL-C Serverless与Python的应用,进一步提升数据分析的能力。

TDSQL-C Serverless产品介绍

TDSQL-C是腾讯云自研的新一代云原生关系型数据库,它整合了传统数据库、云计算和新硬件技术的优势。主要特点包括:

  1. 兼容性:TDSQL-C完全兼容MySQL,用户可以无缝迁移已有的MySQL应用到TDSQL-C上,无需修改代码。
  2. 弹性和高性能:TDSQL-C具备极致的弹性和高性能,能够支持超过百万的QPS(每秒查询率)。
  3. 高可用和高可靠:TDSQL-C通过分布式架构和自动数据备份机制,实现了高可用性和高可靠性,确保数据的安全和可靠性。
  4. 安全性:TDSQL-C提供了多种安全措施,包括连接加密、访问控制、安全审计等,保障数据的安全性。

不仅如此,TDSQL-C还实现了PB级的海量分布式智能存储和Serverless秒级伸缩功能,为企业加速完成数字化转型提供了强大的支持。

针对Serverless服务,它是TDSQL-C MySQL版的无服务器架构版本,完全基于Serverless架构,提供按实际计算和存储资源使用量计费的方式,通俗来说就是和水电费一样,用多少花多少钱,这意味着我们只需按实际使用的资源付费,避免了闲置资源的浪费,同时也使更多人受益。

物料准备

点击链接进入官网选择产品, 如下图所示 点击立即选购
image.png

TDSQL 数据库配置选择

配置选择如下

  • 实例形态 **(Serverless) **
  • 数据库引擎 ** (MYSQL) **
  • 地域 (北京) **地域这里根据自己的实际情况选择即可 **
  • 主可用区 (北京三区) **主可用区这里根据自己的实际情况选择即可 **
  • 多可用区部署 **(否) **
  • 传输链路
  • 网络
  • Serverless架构 单节点版
  • 数据库版本 (MySQL5.7)
  • 算力配置 最小(0.25) , 最大(0.5)
  • 自动暂停 , 根据自己需求配置即可
  • 计算计费模式 (按量计费)
  • 存储计费模式 (按量计费)

详细配置如下图所示

buy.cloud.tencent.com_cynosdb.png

立即购买

选择好配置后点击 下一步 , 继续配置完成后点击立即购买

image.png

集群创建

创建集群需要一点时间 这里我们需要耐心等待哦!!

image.png

开启外网

当集群创建完成之后,需要打开外网链接如下图所示

image.png

创建tdsql 连接

如下面代码所示 创建数据库连接, 其中主机名, 端口, 账户以及密码和 database(数据库名称) 我们需要自己配置一下哦!!

# MySQL数据库连接配置
db_config = {
    
    
    'host': "xxx",  # 主机名
    'port': xxx,  # 端口
    'user': "xxx",  # 账户
    'password': "xxx",  # 密码
    'database': 'xxxx',
}

excel 数据

如下图所示, 我们将 excel 中的标题 , 链接 ,内容, 作者, 发布日期 写入到数据库中 , 数据来源于 csdn 中秋专辑征文哦!!

image.png

创建一个读取excel 文件的函数

代码如下所示

def read_excel(excel_file):
    # 打开excel
    excel = openpyxl.load_workbook(excel_file)
    # 选择工作薄-选择第一个
    sheet = excel.worksheets[0]

    # 创建一个空列表
    data_list = []

    # 将excel 中第二行开始的数据读取出来
    for row in sheet.iter_rows(min_row=2, values_only=True):
        data_list.append(row)
    print(data_list)
    # #调用函数写入数据库
    return write_db(data_list)

查看打印效果
image.png

创建一个函数, 将数据写入数据库

代码如下

def write_db(data_list):
    # 创建一个数据库连接
    conn = pymysql.connect(**db_config)
    # 创建一个游标
    cursor = conn.cursor()
    # 执行创建表的操作, 如果表已经存在, 则不执行
    cursor.execute("create table if not exists cardlist(title varchar(2550), author varchar(20))")

    # 提交事务
    conn.commit()
    # 关闭游标和数据库连接
    cursor.close()
    conn.close()
    # 调用函数写入数据库
    return write_db_data(data_list)


def write_db_data(data_list):
    # 创建一个数据库连接
    conn = pymysql.connect(**db_config)
    # 创建一个游标
    cursor = conn.cursor()
    # 执行写入操作, 将  cursor.execute("create table if not exists cardlist(title varchar(20), link varchar(20), content varchar(20) , author varchar(20),  pushtime varchar(20) , authorlink varchar(20))")写入到数据库
    for data in data_list:
        print(data)
        cursor.execute("insert into cardlist(title,  author) values(%s, %s)", data)
        print(data)
        print('写入成功')


    # 提交事务
    conn.commit()
    # 关闭游标和数据库连接
    cursor.close()
    conn.close()
    return data_list

代码解释

  1. write_db(data_list) 函数首先创建一个数据库连接,并创建一个游标对象来执行SQL语句。
  2. 接下来,函数执行一个创建表的操作语句(create table if not exists cardlist(title varchar(2550), author varchar(20))),如果表已经存在,则不执行创建表的操作。
  3. 然后,函数提交数据库事务,关闭游标和数据库连接。
  4. 最后,函数调用 write_db_data(data_list) 函数,将数据列表传递给它,并返回其结果。

write_db_data(data_list) 函数用于将数据列表写入数据库。

  1. 函数创建一个数据库连接,并创建一个游标对象来执行SQL语句。
  2. 接下来,函数使用循环遍历数据列表中的每个元素,并执行插入数据的操作(insert into cardlist(title, author) values(%s, %s)),将数据插入到名为 cardlist 的表中。
  3. 在每次执行插入操作之前,函数会打印出当前的数据内容,以及插入成功的提示信息。
  4. 最后,函数提交数据库事务,关闭游标和数据库连接,然后返回数据列表。

## 入口函数执行

if __name__ == '__main__':
    read_excel('output.xlsx')

数据库写入内容

如图所示我们成功将excel 中的 文章标题和 作者写入到了 数据库中
image.png

完整代码


import openpyxl
from docxtpl import DocxTemplate
import pymysql



# MySQL数据库连接配置
db_config = {
    
    
    'host': "xxxxx",  # 主机名
    'port': xxx,  # 端口
    'user': "xxxx",  # 账户
    'password': "xxxx",  # 密码
    'database': 'xxxxx',
}



# 创建一个读取excel 文件的函数
def read_excel(excel_file):
    # 打开excel
    excel = openpyxl.load_workbook(excel_file)
    # 选择工作薄-选择第一个
    sheet = excel.worksheets[0]

    # 创建一个空列表
    data_list = []

    # 将excel 中第二行开始的数据读取出来
    for row in sheet.iter_rows(min_row=1, values_only=True):
        data_list.append((row[0], row[3]))
        print(row[0], '----', row[3])

    # print(data_list)
    # #调用函数写入数据库
    return write_db(data_list)




# 创建一个函数, 将数据写入数据库
def write_db(data_list):
    # 创建一个数据库连接
    conn = pymysql.connect(**db_config)
    # 创建一个游标
    cursor = conn.cursor()
    # 执行创建表的操作, 如果表已经存在, 则不执行
    cursor.execute("create table if not exists cardlist(title varchar(2550), author varchar(20))")

    # 提交事务
    conn.commit()
    # 关闭游标和数据库连接
    cursor.close()
    conn.close()
    # 调用函数写入数据库
    return write_db_data(data_list)

#
def write_db_data(data_list):
    # 创建一个数据库连接
    conn = pymysql.connect(**db_config)
    # 创建一个游标
    cursor = conn.cursor()
    # 执行写入操作, 将  cursor.execute("create table if not exists cardlist(title varchar(20), link varchar(20), content varchar(20) , author varchar(20),  pushtime varchar(20) , authorlink varchar(20))")写入到数据库
    for data in data_list:
        print(data)
        cursor.execute("insert into cardlist(title,  author) values(%s, %s)", data)
        print(data)
        print('写入成功')


    # 提交事务
    conn.commit()
    # 关闭游标和数据库连接
    cursor.close()
    conn.close()
    return data_list

if __name__ == '__main__':
    read_excel('output.xlsx')






总结

通过上述讲解 我们可以成功的将excel 数据成功的写入到数据库中, 同时我们也可以将其进行扩展如 读取数据 对数据进行分析等, 综上可以看出相较于传统的数据库服务,TDSQL-C Serverless可以根据实际需求自动扩缩容,避免了资源浪费和配置繁琐的问题。

猜你喜欢

转载自blog.csdn.net/2301_78784268/article/details/134145134