<!–
在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中创建一个带有主键的数据表。