下面是Python向MySQL数据库插入数据的操作方法的完整攻略。
1. 准备工作
在开始之前,请确保已经完成以下准备工作:
- 安装好MySQL数据库
- 安装Python的MySQL库,可以使用
pip
安装:pip install mysql-connector-python
2. 建立连接
首先需要创建一个连接对象,用于连接到MySQL数据库。可以使用mysql.connector
库中的connect()
函数来创建连接。示例代码如下:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test_db"
)
上述代码中,host
参数指定MySQL服务器的IP地址或域名,user
参数指定连接到MySQL数据库所使用的用户名,password
参数指定密码,database
参数指定要连接到的数据库名称。请根据实际情况修改这些参数。
3. 插入数据
要向MySQL数据库中插入数据,需要使用execute()
方法执行SQL插入语句。示例代码如下:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test_db"
)
# 创建游标对象
mycursor = mydb.cursor()
# 插入数据
sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
val = ("小明", 18, "男")
mycursor.execute(sql, val)
# 提交事务
mydb.commit()
print(mycursor.rowcount, " 条记录插入成功。")
上述代码中,使用cursor()
方法创建游标对象,游标对象可以用来执行SQL语句。SQL插入语句中采用了参数化查询的方式,该方式可以避免SQL注入攻击。
在执行完插入操作后,需要使用commit()
方法提交事务,否则数据不会真正写入数据库。
4. 批量插入数据
如果要向MySQL数据库中插入大量数据,可以使用批量插入的方式,这样可以提高插入效率。示例代码如下:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test_db"
)
# 创建游标对象
mycursor = mydb.cursor()
# 插入多条数据
sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
val = [
("小明", 18, "男"),
("小红", 20, "女"),
("小刚", 22, "男"),
("小丽", 19, "女")
]
mycursor.executemany(sql, val)
# 提交事务
mydb.commit()
print(mycursor.rowcount, " 条记录插入成功。")
上述代码中,使用executemany()
方法批量插入数据,该方法的第一个参数是SQL插入语句,第二个参数是要插入的数据,数据以元组的形式传递。在执行完所有插入操作后,需要使用commit()
方法提交事务。
注意,批量插入数据时,MySQL数据库的transaction isolation level可能会影响插入效率。建议将transaction isolation level设置为READ-COMMITTED
或更高级别。
以上就是Python向MySQL数据库插入数据的操作方法的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python向MySQL数据库插入数据的操作方法 - Python技术站