使用MySQL VALUES ROW实现多行插入

介绍

在MySQL中,VALUES ROW语法用于一次性插入多行数据。它可以简化插入操作,提高效率。本文将教会你如何使用MySQL VALUES ROW实现多行插入。

流程图

flowchart TD
    A[连接到MySQL数据库] --> B[创建新的表]
    B --> C[插入数据]
    C --> D[查询数据]
    D --> E[关闭数据库连接]

步骤说明

步骤1:连接到MySQL数据库

首先,我们需要连接到MySQL数据库。使用以下代码连接到数据库:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="yourdatabase"
)

# 添加更多代码

在这个代码中,你需要替换yourusernameyourpasswordyourdatabase为你自己的数据库信息。

步骤2:创建新的表

在插入数据之前,我们需要创建一个新的表。使用以下代码创建表:

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

# 添加更多代码

这段代码将创建一个包含id、name和address列的customers表。你可以根据自己的需求修改列的名称和类型。

步骤3:插入数据

接下来,我们将使用VALUES ROW语法插入多行数据。使用以下代码插入数据:

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"

val = [
  ("John", "Highway 21"),
  ("Peter", "Lowstreet 4"),
  ("Amy", "Apple st 652"),
  ("Hannah", "Mountain 21"),
  ("Michael", "Valley 345"),
  ("Sandy", "Ocean blvd 2"),
  ("Betty", "Green Grass 1"),
  ("Richard", "Sky st 331"),
  ("Susan", "One way 98"),
  ("Vicky", "Yellow Garden 2"),
  ("Ben", "Park Lane 38"),
  ("William", "Central st 954"),
  ("Chuck", "Main Road 989"),
  ("Viola", "Sideway 1633")
]

mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "行插入成功。")

# 添加更多代码

这段代码将插入包含name和address数据的多个行到customers表中。你可以根据自己的需求修改插入的数据。

步骤4:查询数据

最后,我们可以查询插入的数据。使用以下代码查询数据:

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

# 添加更多代码

这段代码将从customers表中查询所有数据,并打印出来。

步骤5:关闭数据库连接

当我们完成所有操作后,需要关闭数据库连接。使用以下代码关闭连接:

mydb.close()

# 添加更多代码

总结

通过本文,你学会了如何使用MySQL VALUES ROW实现多行插入。首先,我们连接到数据库;然后创建新的表;接着使用VALUES ROW语法插入多行数据;最后查询数据并关闭数据库连接。这个方法可以大大简化插入操作,提高效率。

参考链接

  • [MySQL Python教程](