📜  Python MySQL-插入数据(1)

📅  最后修改于: 2023-12-03 14:46:00.764000             🧑  作者: Mango

Python MySQL - 插入数据

在使用Python编程时,经常需要将数据插入到MySQL数据库中。Python提供了多种方式来与MySQL数据库进行交互,这篇文章将介绍如何使用Python来插入数据到MySQL数据库中。

安装驱动

在使用Python与MySQL数据库进行交互之前,需要先安装MySQL驱动。Python提供了多个MySQL驱动,其中最常用的是mysql-connector-pythonPyMySQL

使用pip可以很方便地安装这两个驱动:

pip install mysql-connector-python
pip install PyMySQL
建立连接

在插入数据之前,需要先与MySQL建立连接。使用MySQL驱动提供的connect()方法即可建立连接。需要提供MySQL的主机名、用户名、密码、数据库等信息。

import mysql.connector

# 建立连接
cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database')
插入单条数据

使用INSERT INTO语句可以向MySQL数据库中插入单条数据。需要提供表名和要插入的数据。

import mysql.connector

# 建立连接
cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database')

# 获取游标
cursor = cnx.cursor()

# 插入单条数据
add_employee = ("INSERT INTO employees "
                "(first_name, last_name, hire_date, gender, birth_date) "
                "VALUES (%s, %s, %s, %s, %s)")
employee_data = ('John', 'Doe', '2021-01-01', 'M', '1990-01-01')
cursor.execute(add_employee, employee_data)

# 提交更改
cnx.commit()

# 关闭游标和连接
cursor.close()
cnx.close()
插入多条数据

使用executemany()方法可以向MySQL数据库中插入多条数据。需要提供表名和要插入的数据列表。

import mysql.connector

# 建立连接
cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database')

# 获取游标
cursor = cnx.cursor()

# 插入多条数据
add_employees = ("INSERT INTO employees "
                "(first_name, last_name, hire_date, gender, birth_date) "
                "VALUES (%s, %s, %s, %s, %s)")
employees_data = [
    ('John', 'Doe', '2021-01-01', 'M', '1990-01-01'),
    ('Jane', 'Doe', '2021-01-01', 'F', '1995-01-01'),
    ('Bob', 'Smith', '2021-01-01', 'M', '1990-01-01'),
]
cursor.executemany(add_employees, employees_data)

# 提交更改
cnx.commit()

# 关闭游标和连接
cursor.close()
cnx.close()
插入自增长主键

当插入数据到一个具有自增长主键的表中时,MySQL会自动为新增加的数据分配一个唯一的ID。在插入数据后,可以使用游标的lastrowid属性获取自增长主键的值。

import mysql.connector

# 建立连接
cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database')

# 获取游标
cursor = cnx.cursor()

# 插入单条数据
add_employee = ("INSERT INTO employees "
                "(first_name, last_name, hire_date, gender, birth_date) "
                "VALUES (%s, %s, %s, %s, %s)")
employee_data = ('John', 'Doe', '2021-01-01', 'M', '1990-01-01')
cursor.execute(add_employee, employee_data)

# 获取自增长主键
employee_id = cursor.lastrowid

# 提交更改
cnx.commit()

# 关闭游标和连接
cursor.close()
cnx.close()

print(f"Inserted employee with ID {employee_id}")
总结

本文介绍了如何使用Python向MySQL数据库中插入数据。需要安装MySQL驱动,建立连接后可以使用INSERT INTO语句向数据库中插入单条数据,也可以使用executemany()方法插入多条数据。在插入数据到具有自增长主键的表中时,可以使用游标的lastrowid属性获取自增长主键的值。