📜  Python MySQL-选择数据(1)

📅  最后修改于: 2023-12-03 15:18:56.810000             🧑  作者: Mango

Python MySQL - 选择数据

在MySQL中,选择数据是与数据库交互的最常见操作之一。本文将介绍如何使用Python中的MySQL模块选择数据。

连接到MySQL数据库

要与MySQL数据库交互,需要使用Python MySQL模块。首先,必须安装该模块:

!pip install mysql-connector-python

使用以下代码连接到MySQL数据库:

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

print(mydb)

上述代码连接到了本地MySQL数据库并打印出了连接对象。

选择数据

在MySQL中,使用SELECT语句选择数据。以下示例选择名为“customers”的表中的所有行:

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)

在上述代码中,定义了一个名为“mycursor”的游标对象,该对象使用“SELECT * FROM customers”查询选择所有行。然后,使用游标的fetchall()方法检索查询的结果并将其打印。可以将查询更改为仅选择所需列,如下所示:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT name, address FROM customers")
 
myresult = mycursor.fetchall()
 
for x in myresult:
  print(x)

上述代码仅选择名为“name”和“address”的两列并将结果打印。

WHERE语句

使用WHERE语句可以选择特定条件下的数据。以下示例仅选择名为“John”的客户:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT * FROM customers WHERE name = 'John'")
 
myresult = mycursor.fetchall()
 
for x in myresult:
  print(x)

在上述代码中,使用WHERE语句选择具有名称为“John”的客户。该查询使用“=”运算符检查名称是否与“John”相同。

ORDER BY语句

ORDER BY语句可用于按升序或降序对结果集进行排序。以下示例按名称对客户进行升序排序:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT * FROM customers ORDER BY name")
 
myresult = mycursor.fetchall()
 
for x in myresult:
  print(x)

在上述代码中,使用ORDER BY子句按名称对结果进行升序排序。

LIMIT语句

使用LIMIT语句可以限制结果集的大小。以下示例选择前5个客户:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT * FROM customers LIMIT 5")
 
myresult = mycursor.fetchall()
 
for x in myresult:
  print(x)

上述代码中,使用LIMIT子句选择前5个客户。

完整示例

以下是一个完整的例子,显示如何从具有名称“mydatabase”的数据库中选择数据:

import mysql.connector
 
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT * FROM customers WHERE address ='Park Lane 38'")
 
myresult = mycursor.fetchall()
 
for x in myresult:
  print(x)

在上述代码中,使用WHERE语句选择具有地址“Park Lane 38”的所有行,并打印结果。

总结

选择数据是与MySQL数据库交互的最常见操作之一。Python MySQL模块使选择数据变得轻松且容易,只需使用简单的SELECT语句即可选择所需的数据。此外,还可以使用WHERE语句选择特定条件下的数据,并使用ORDER BY和LIMIT子句对结果进行排序和限制。