使用Python插入 MySQL 数据库后获取 id
先决条件: MySQL,用于Python的mysql-connector
这里的任务是起草一个Python程序,该程序与 SQL 支持一起工作以连接数据。每当插入数据库时,都会打印插入行的 ID。为了将Python与数据库连接,我们使用 MySQL 连接器。 mysql-connector 的工作是提供对 MySQL Driver 的访问所需的语言。因此,它会在编程语言和 MySQL 服务器之间生成连接。
SQL 中的 INSERT 子句
顾名思义,它将数据插入到数据库中。使用插入命令时需要遵循某些规则。要更新的数据应该与数据库列的顺序相同,或者列的名称应该与要插入的数据一起提供给查询。
句法:
INSERT INTO
VALUES(….);
要打印最后插入的行的 ID,将使用lastrowid 。这是一个特殊的关键字,用于打印上次插入的行的 ID,但在使用此之前必须记住某些协议:
- 数据库的ID列应该是主键
- ID 列应自动递增。
下面给出了相同的实现:
使用中的数据库:
下面是实现:
Python3
import mysql.connector
mydb = mysql.connector.connect(
host = 'localhost',
database = 'employee',
user = 'root',
password = 'Your_pass'
)
cs = mydb.cursor()
statement = "INSERT INTO geekstudent( id, name,gender, subject)\
VALUES(6,'Shoit','M', 'ML')"
cs.execute(statement)
mydb.commit()
print(cs.rowcount, " record(s) added")
print(cs.lastrowid)
输出:
1 record(s) added
0
更新的数据库输出: