欢迎访问宙启技术站
智能推送

Python3实现mysql连接和数据框的形成(实例代码)

发布时间:2023-05-16 06:25:54

Python是一种开放源代码高级编程语言,非常适用于数据科学和分析,在数据获取和处理方面非常方便。而MySQL是一种开源关系型数据库,它可以轻松地存储、操作和查询大量数据。在Python中,我们可以使用MySQL连接器来连接到MySQL数据库,并使用pandas库创建数据框来存储数据。下面,我们将以实例代码的形式来介绍Python3实现MySQL连接和数据框的形成具体方法。

1. 安装mysql-connector

首先,我们需要在Python中安装mysql-connector包。可以使用以下命令在Python中安装mysql-connector:

pip install mysql-connector-python

2. 连接到MySQL数据库

接下来,我们需要连接到MySQL数据库。在这个例子里,我们使用的是localhost服务器,用户名为root,密码为password,所以我们可以使用以下代码来连接到MySQL数据库:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password"
)

连接成功后,我们可以在Python中使用MySQL语句来查询数据库中的数据。

3. 查询MySQL数据

接下来,我们将使用MySQL数据库中的example表进行示例操作。先创建example表:

CREATE TABLE example (
  id INT,
  name VARCHAR(255),
  age INT,
  address VARCHAR(255)
);

然后,我们可以使用以下代码来查询MySQL数据库中的数据:

import pandas as pd
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="example"
)

df = pd.read_sql("SELECT * FROM example", con=mydb)
print(df)

在这个例子中,pd.read_sql()函数用于使用SQL查询语句从MySQL数据库中检索数据。该函数的 个参数是我们要执行的SQL语句。在此例中,我们使用了SELECT * FROM example来检索整个example表。第二个参数是MySQL连接。最后,我们使用print()函数来打印数据框。

输出结果如下:

   id   name  age                 address
0   1    Tom   30       123 Street, Sydney
1   2  Jerry   34        45 Road, New York
2   3   Paul   29  123 Main Street, London

4. 插入数据到MySQL

接下来,我们将使用以下代码将新数据插入到MySQL数据库的example表中:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="example"
)

mycursor = mydb.cursor()

sql = "INSERT INTO example (id, name, age, address) VALUES (%s, %s, %s, %s)"
val = (4, "John", 40, "456 Avenue, San Francisco")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

在该代码中,我们使用MySQL语句将新数据插入到example表中。首先,我们创建一个mycursor对象,然后将SQL查询语句和值绑定到val中。接下来,我们使用mycursor.execute()函数执行SQL查询语句。最后,使用mydb.commit()函数将更改保存到MySQL数据库。

输出结果如下:

1 record inserted.

这就是Python3实现MySQL连接和数据框的形成的简单实例。在实际应用中,我们可以根据需要使用更复杂的MySQL语句来实现各种操作。