Python MySQL 插入表

Posted jinbuqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python MySQL 插入表相关的知识,希望对你有一定的参考价值。


章节


插入表

要把记录插入到mysql中的表中,使用“INSERT INTO”语句。

示例

在“customers”表中插入一条记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "条记录已插入")

注意: 调用mydb.commit()语句提交修改,否则修改不会生效。

插入多行

要将多行插入到表中,使用executemany()方法。

executemany()方法的第二个参数是一个元组列表,包含了要插入的数据:

示例

填写“客户”表格:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('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, " 条已经插入")

获取插入行的ID

可以通过查询cursor对象,获得刚才插入行的id。

注意: 如果插入多行,则返回最后插入行的id。

示例

插入一行,并返回ID:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)

mydb.commit()

print("1 条记录插入, ID:", mycursor.lastrowid)

以上是关于Python MySQL 插入表的主要内容,如果未能解决你的问题,请参考以下文章

使用python将数据插入mysql表

PYTHON MYSQL 的表创建和插入

将数千条记录插入表中的最有效方法是啥(MySQL,Python,Django)

如何使用 Python 将嵌套字典/json 插入 MySQL 表

python进阶-python MySQL

python--MySql 表记录的操作