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值。