注册

跟老齐学Python之使用Python查询更新数据库

接下来我将为您讲解“跟老齐学Python之使用Python查询更新数据库”的完整攻略,包含以下两条示例说明。

简介

在本文中,我们将学习如何使用Python连接并操作数据库,包括查询、更新、插入和删除等操作,以及如何使用Python中的模块将数据存储到数据库中。

连接数据库

在Python中连接数据库需要使用相应的数据库模块。我们在这里使用Python中常用的关系型数据库mysql,安装模块mysql-connector-python,可以使用pip命令进行安装。

pip install mysql-connector-python

连接MySQL数据库需要提供以下信息:主机地址、端口号、用户名、密码和数据库名称等。下面是示例代码:

import mysql.connector

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

print(mydb)

查询数据

我们通常需要查询数据库中的数据,可以使用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)

上述代码中,我们首先使用mydb.cursor()方法创建了一个游标对象,然后使用execute()方法执行了一个SELECT语句,最后使用fetchall()方法获取所有匹配的行。最后我们可以使用for循环遍历所有返回的行。

更新数据

我们可以使用一个UPDATE语句来更新表格中的数据。

import mysql.connector

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

mycursor = mydb.cursor()

sql = "UPDATE customers SET address = 'No. 1 Haidian Road' WHERE address = 'No. 14 Chaoyang Road'"

mycursor.execute(sql)

mydb.commit()

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

上述代码中,我们首先定义了一个UPDATE语句,并使用execute()方法执行它,最后使用rowcount属性获取受影响的行数。

示例说明1

根据用户输入的数据向数据库中插入一条新的记录。代码如下:

import mysql.connector

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

mycursor = mydb.cursor()

name = input("请输入姓名:")
address = input("请输入地址:")

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = (name, address)
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

在这个示例中,我们通过input()函数获取用户输入,然后使用INSERT INTO语句将数据插入到customers表中。

示例说明2

根据用户输入的数据更新数据库中一条已有的记录。代码如下:

import mysql.connector

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

mycursor = mydb.cursor()

name = input("请输入要修改记录的姓名:")
new_address = input("请输入新的地址:")

sql = "UPDATE customers SET address = %s WHERE name = %s"
val = (new_address, name)
mycursor.execute(sql, val)

mydb.commit()

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

在这个示例中,我们通过input()函数获取用户输入,然后使用UPDATE语句将数据更新到customers表中。

以上就是使用Python查询更新数据库的完整攻略和两个示例说明,希望对您有所帮助。