欢迎访问宙启技术站
智能推送

Python中10个与数据库交互函数的使用方法

发布时间:2023-06-24 11:50:29

在Python中,与数据库交互是非常普遍的。由于Python有许多现成的数据库API和库,因此开发人员可以很容易地使用这些工具来连接数据库并执行所需的操作。以下是10个常见的Python数据库交互函数和它们的使用方法。

1. Connect

Connect函数是用于创建数据库连接的。这个函数带有连接参数,如数据库服务器地址、用户名、密码等。例如:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="mydatabase"
)

在这个示例中,我们使用了MySQL数据库库。但是,Connect函数还适用于其他数据库,因为数据库API有些不同。

2. Cursor

Cursor函数是用于执行SQL语句的。我们可以使用此函数来执行查询、插入、更新和删除等操作。例如:

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在这个示例中,我们使用了fetchall来获取查询结果集。这是一个列表,其中每个项目都是一行结果。在这里,我们一行行地遍历并打印了它们。

3. Execute

Execute函数是用于执行SQL语句的。我们可以在SQL语句中包括占位符,并将变量传递给execute函数。例如:

sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在这个示例中,我们使用了execute函数来执行查询,并在此过程中使用了与变量地址匹配的占位符。我们传递了adr变量以替换占位符。

4. Fetchone

Fetchone函数用于从结果集中获取一行数据。例如:

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchone()

print(myresult)

在这个示例中,我们使用了fetchone函数来获取 行结果集。这是一个元组,其中每个项目都是该行中的列。

5. Fetchmany

Fetchmany函数用于从结果集中获取多行数据。我们可以指定要获取的行数。例如:

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchmany(size=3)

for x in myresult:
  print(x)

在这个示例中,我们使用了fetchmany函数来获取前三行结果集。我们将结果迭代并一行行地打印它们。

6. Commit

Commit函数用于提交对数据库所做的更改。例如:

mydb.commit()

在此示例中,我们使用了commit函数来提交对MySQL数据库的更改。如果你不提交更改,MySQL数据库不会保存它们。

7. Rollback

Rollback函数用于撤消对数据库所做的更改。例如:

mydb.rollback()

在这个示例中,我们使用rollback函数来撤消对MySQL数据库的更改。

8. Close

Close函数用于关闭数据库连接。例如:

mydb.close()

在这个示例中,我们使用close函数来关闭与MySQL数据库的连接。

9. Rowcount

Rowcount函数用于获取查询操作影响的行数。例如:

mycursor.execute("DELETE FROM customers WHERE address = 'Mountain 21'")

print(mycursor.rowcount, " record(s) deleted")

在这个示例中,我们使用了rowcount函数来获取影响MySQL数据库表中的行数。

10. Lastrowid

Lastrowid函数用于在进行插入操作时获取自增列的最后插入的值。例如:

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

print("The last inserted ID was: ", mycursor.lastrowid)

在这个示例中,我们使用了lastrowid函数来获取插入到MySQL数据库的最后一行的ID值。

总结:这些常用的Python数据库交互函数可以简化在Python中对数据库的操作。我们可以连接MySQL、PostgreSQL、Oracle等不同的数据库系统,然后使用这些函数来执行查询、插入、更新和删除等操作。