MySQL 如何在Python中插入数据后获取MySQL数据库中的id

MySQL 如何在Python中插入数据后获取MySQL数据库中的id

阅读更多:MySQL 教程

背景介绍

在数据库中,每条记录都会有自己唯一的标识符,通常称为主键。MySQL中的主键为自增长型,即每次插入记录时,数据库会自动为记录分配一个不重复的id值。在开发中,经常需要在向数据库插入数据后获取该记录的id值,以便进行后续操作。本文将介绍使用Python连接MySQL数据库并在插入数据后获取自增长id的方法。

环境准备

在使用Python连接MySQL数据库前,需要安装相应的库,这里我们使用pymysql库,可以使用以下命令进行安装:

pip install pymysql

接着,在Python代码中导入pymysql库,并设置连接信息:

import pymysql

# 设置连接信息
host = 'localhost'
port = 3306
user = 'root'
password = 'root'
database = 'test_db'

# 建立连接
db = pymysql.connect(host=host, port=port, user=user, password=password, database=database)

插入数据并获取自增长id

有了连接信息后,我们就可以通过Python向MySQL数据库中插入数据了。这里,我们以向users表中插入一条数据为例:

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

# 构造SQL语句
sql = "INSERT INTO users (name, age) VALUES ('Tom', 18)"

# 执行SQL语句
cursor.execute(sql)

# 获取自增长id
user_id = db.insert_id()

# 提交事务
db.commit()

print('插入数据成功,user_id为{}'.format(user_id))

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

代码中,首先获取游标cursor,然后构造SQL语句并执行,接着使用db.insert_id()方法获取自增长id,并提交事务。最后,关闭游标和连接。

完整代码示例

import pymysql

# 设置连接信息
host = 'localhost'
port = 3306
user = 'root'
password = 'root'
database = 'test_db'

# 建立连接
db = pymysql.connect(host=host, port=port, user=user, password=password, database=database)

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

# 构造SQL语句
sql = "INSERT INTO users (name, age) VALUES ('Tom', 18)"

# 执行SQL语句
cursor.execute(sql)

# 获取自增长id
user_id = db.insert_id()

# 提交事务
db.commit()

print('插入数据成功,user_id为{}'.format(user_id))

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

结论

本文介绍了使用Python连接MySQL数据库,并在插入数据后获取自增长id的方法。通过pymysql库,我们可以方便地进行数据库操作,并使用db.insert_id()方法获取记录的id值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程