在MySQL Python Pandas中使用to_sql创建带有主键的数据表


<!–

–>

在MySQL Python Pandas中使用to_sql创建带有主键的数据表

MySQL是一个流行的关系型数据库管理系统,Python是一种易于学习和使用的高级编程语言,Pandas是一个数据处理库。 在本篇文章中,我们将介绍如何在 Pandas中使用to_sql创建一个带有主键的数据表。

阅读更多:

步骤 1 – 导入库

在开始处理数据前,我们应该首先导入所需的库。 在这里,我们需要 Pandas和sqlalchemy。 在Python中,我们可以通过pip命令来安装这些库:

(adsbygoogle = window.adsbygoogle || []).push({});

pip install mysql-connector-python pandas sqlalchemy

步骤 2 – 连接数据库

在Python中,使用MySQL数据库时,我们需要使用mysql-connector-python库创建与MySQL服务器的连接。我们可以使用以下代码来建立连接:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="mydatabase"
)

步骤 3 – 准备数据

接下来,我们需要准备要插入到MySQL表中的数据。 我们可以使用Pandas数据框架来处理数据并将其插入到MySQL表中。

import pandas as pd

data = {'name': ['Bubu', 'Lili', 'Mimi', 'Fufu'], 
        'age': [21, 22, 23, 24], 
        'city': ['New York', 'Paris', 'Tokyo', 'Seoul']}

df = pd.DataFrame(data)

print(df)
  name  age      city
0  Bubu   21  New York
1  Lili   22     Paris
2  Mimi   23     Tokyo
3  Fufu   24     Seoul

步骤 4 – 插入数据表

接下来,我们将数据插入到我们的MySQL表中。 但是,我们需要先为表创建一个模式。 我们创建的数据表将包含一个名为id的主键列和其他几列。 我们可以使用以下代码将数据插入到我们的MySQL表中:

import sqlalchemy

engine = sqlalchemy.create_engine(
    "mysql+mysqlconnector://username:password@localhost:3306/mydatabase"
)

df.to_sql(
    "student", 
    con=engine,
    index=False,
    if_exists='replace',
    dtype={
        "id": sqlalchemy.types.INTEGER,
        "name": sqlalchemy.types.VARCHAR(length=255),
        "age": sqlalchemy.types.INTEGER,
        "city": sqlalchemy.types.VARCHAR(length=255)
    }
)

在上面的代码中,我们将MySQL连接字符串传递给sqlalchemy.create_engine()函数。 然后,我们使用to_sql()函数将数据框插入到MySQL表中。 if_exists参数告诉to_sql()函数在表已经存在时如何操作,可选值为 ‘fail’、 ‘replace’和 ‘append’ 。

步骤 5 – 确认主键

我们可以使用以下查询来确认我们的MySQL表中是否已经有了主键列:

mycursor = mydb.cursor()

mycursor.execute("SHOW COLUMNS FROM student WHERE KEY='PRI'")

print(mycursor.fetchall())

该查询将返回名为student的表的主键信息。 如果我们的表中包含一个名为id的主键列,则查询将返回以下结果:

(adsbygoogle = window.adsbygoogle || []).push({});

[('id', 'int(11)', 'NO', 'PRI', None, '')]

总结

在这篇文章中,我们学习了如何在MySQL Python Pandas中使用to_sql创建一个带有主键的数据表。 我们通过4个步骤完成了该任务:导入库,连接数据库,准备数据和插入数据表。 最后,我们还查看了MySQL表中的主键信息。现在,我们可以轻松地在MySQL Python Pandas中创建一个带有主键的数据表。