首页 > 编程知识 正文

Python读数据库用法介绍

时间:2023-11-21 10:54:08 阅读:289508 作者:IDBH

Python因其强大的数据分析和处理工具而备受欢迎。此外,Python还有一个强大的功能,即可以从各种数据库中读取数据。本文将从各个方面详细阐述Python读数据库。

一、连接数据库

连接数据库是读取数据库的第一步。Python可以使用SQLite, MySQL, PostgreSQL, Oracle等数据库。下面是Python连接MySQL数据库的示例代码:


import mysql.connector

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

print(mydb)

在上面的代码中,我们使用了mysql-connector-python库来连接MySQL数据库。我们需要提供正确的主机名、用户名、密码和数据库名称。另外,如果需要,您还可以指定端口号。连接成功后,我们打印出mydb对象以确认连接是否已成功建立。

二、查询数据

一旦连接成功,我们可以使用Python从数据库中读取数据。我们将使用SELECT语句来检索数据。下面是Python使用MySQL SELECT语句的示例代码:


import mysql.connector

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

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在上面的代码中,我们首先创建了一个游标对象。游标用于执行数据库操作和检索数据。然后,我们使用execute()方法和SELECT语句从数据库中检索数据。最后,我们使用fetchall()方法来获取所有结果。如果需要,我们可以使用fetchone()方法来检索一个结果。如上述代码所示,我们打印出了结果集中的每一行数据。

三、数据过滤

通常情况下,我们需要按照某些条件检索数据库记录。我们可以使用WHERE子句来检索满足特定条件的数据记录。下面是Python使用MySQL WHERE子句的示例代码:


import mysql.connector

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

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)
在上面的代码中,我们使用WHERE子句检索了地址为Park Lane 38的所有客户记录。如果需要,我们可以根据其他条件检索数据。

四、排序数据

有时,我们需要按照某个字段对数据库记录进行排序。我们可以使用ORDER BY子句来排序。下面是Python使用MySQL ORDER BY子句的示例代码:


import mysql.connector

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

mycursor = mydb.cursor()

sql = "SELECT * FROM customers ORDER BY name"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)
在上面的代码中,我们使用ORDER BY子句按名称字段对客户记录进行排序。我们还可以按照其他字段进行排序。

五、插入数据

有时,我们需要将数据插入到数据库表中。我们可以使用INSERT语句来插入数据。下面是Python使用MySQL INSERT语句的示例代码:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  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, "record inserted.")
在上面的代码中,我们使用INSERT语句将John和Highway 21插入到customers表中。我们使用参数化查询来插入数据,以避免SQL注入攻击。注意,当我们向数据库表中插入数据时,我们必须调用commit()方法才能提交更改。

六、更新数据

有时,我们需要更新数据库表中的数据。我们可以使用UPDATE语句来更新数据。下面是Python使用MySQL UPDATE语句的示例代码:

import mysql.connector

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

mycursor = mydb.cursor()

sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")
在上面的代码中,我们使用UPDATE语句将地址字段更改为Canyon 123、名称字段为John的客户记录。同样,我们必须调用commit()方法才能提交更改。

七、删除数据

有时,我们需要从数据库表中删除数据记录。我们可以使用DELETE语句来删除数据。下面是Python使用MySQL DELETE语句的示例代码:

import mysql.connector

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

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Highway 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")
在上面的代码中,我们使用DELETE语句删除地址字段为Highway 21的客户记录。同样,我们需要调用commit()方法来提交更改。

总结

在本文中,我们从多个方面详细阐述了Python读取数据库的方法。我们首先连接了数据库,然后检索、过滤、排序、插入、更新和删除数据。通过本文的阐述,我们可以更深入地了解如何使用Python访问和处理数据库。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。