在使用 MySQL 数据库时,最常见的操作之一就是查询数据。本文将示例如何利用 Python 和 mysql-connector
驱动执行 SELECT
语句,从表中获取所需记录。
1. 查询表中所有列(SELECT *)
以下示例展示如何连接到数据库并读取名为 customers
表的全部数据:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername", # 替换成你的MySQL用户名
password="yourpassword", # 替换成你的MySQL密码
database="mydatabase"
)
mycursor = mydb.cursor()
# SELECT * 表示获取所有列
mycursor.execute("SELECT * FROM customers")
# fetchall() 会返回所有查询结果行
myresult = mycursor.fetchall()
for row in myresult:
print(row)
程序运行后,会逐行输出customers
表中的全部记录。
2. 仅获取部分列
如果只想查询表中部分列(例如只要name
和address
),可以修改 SELECT 语句:
mycursor.execute("SELECT name, address FROM customers")
myresult = mycursor.fetchall()
for row in myresult:
print(row)
输出结果中将只包含name
与address
这两列信息。
3. 使用 fetchone() 获取单条记录
有时你只需要读取第一条记录,可以使用fetchone()
方法:
mycursor.execute("SELECT * FROM customers")
one_record = mycursor.fetchone()
print(one_record)
fetchone()
只会返回查询结果中的第一行。如果你继续调用fetchone()
,就会返回下一行;若已到结果末尾,则返回None
。
4. 注意事项
- 通过
mycursor.execute()
执行SELECT语句后,先确定数据表和列名是否正确。 - 使用
fetchall()
获取大量数据时,需要考虑内存使用情况。若数据量庞大,可逐条或分批获取。 - 确保已在
mysql.connector.connect()
中指定正确的database
,否则查询会出错。
通过以上介绍,你已经掌握了Python中查询MySQL表数据的基本方法,包括查询所有列、指定列以及获取单条记录。根据项目需求灵活运用,就能高效管理并读取数据库信息。