接下来我将为您讲解“跟老齐学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查询更新数据库的完整攻略和两个示例说明,希望对您有所帮助。