Python是一门非常流行的编程语言,它可用于各种用途,包括数据科学、Web开发、机器学习、爬虫等。在本文中,我们将主要关注 Python 语言中与 MySQL 数据库的交互。
MySQL是一种流行的开源关系型数据库系统,被广泛应用于Web应用程序、商务解决方案和嵌入式软件等领域。因此,将Python与MySQL相结合,实现数据的存储、查询和管理,是常见的需求。
Python与MySQL的交互
Python语言提供了一些流行的MySQL连接库。其中,pymysql和MySQL Connector是两个最流行的库。使用这些库,可以轻松地在Python代码中与MySQL数据库交互,并实现数据的存储、查询和管理。
这里将重点介绍如何使用pymysql库实现与MySQL数据库的连接。
首先,需要使用pip安装pymysql。在终端中运行以下命令即可:
```
pip install pymysql
```
连接MySQL数据库
在Python中连接MySQL数据库非常简单。首先,需要导入pymysql库。然后,使用以下代码连接到MySQL数据库:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 执行 SQL 语句
cursor.execute("SELECT VERSION()")
# 获取查询结果
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
```
在上面的代码中,我们首先连接到名为“TESTDB”的MySQL数据库。为了实现这一点,我们指定主机名称“localhost”,用户名“testuser”和密码“test123”。要连接到不同的MySQL数据库,请更改这些参数。
然后,我们使用cursor()方法创建一个名为“cursor”的游标对象。该游标对象用于执行SQL查询,并从结果集中获取数据。
在上面的示例中,我们查询MySQL服务器版本。然后,使用fetchone()方法获取查询结果。最后,我们关闭了数据库连接。您可以在代码中执行其他类型的查询,例如插入,更新和删除数据。
插入数据
要将数据插入MySQL表中,你需要执行以下步骤:
1. 连接到MySQL数据库。
2. 使用INSERT INTO语句向表中插入数据。
3. 提交更改。
以下是一个示例代码,展示了如何向MySQL表中插入数据:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
```
在上面的代码中,我们向名为“EMPLOYEE”的MySQL表插入数据。该表拥有一组字段,包括“FIRST_NAME”、“LAST_NAME”、“AGE”、“SEX”和“INCOME”。
在执行INSERT INTO语句之后,我们调用db.commit()方法提交更改。如果在操作过程中出现错误,则可以使用db.rollback()方法回滚更改。
查询数据
查询MySQL表中的数据非常容易,你只需要执行以下步骤:
1. 连接到MySQL数据库。
2. 执行SELECT语句以检索所需的数据。
3. 使用fetchall()或fetchone()方法从结果集中获取数据。
以下是一个示例代码,展示了如何在Python中查询MySQL表中的数据:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > %s" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income ))
except:
print("Error: unable to fetch data")
# 关闭数据库连接
db.close()
```
在上面的代码中,我们使用SELECT语句从名为“EMPLOYEE”的MySQL表中检索数据。在该语句中,我们使用WHERE子句来设置条件,以便获取“INCOME”字段值大于1000的所有记录。
然后,我们使用fetchall()方法获取结果集中的所有记录。我们遍历结果集中的每行数据,并使用索引获取每个字段的值。最后,我们打印结果以验证查询是否正确。
更新数据
如果要更新MySQL表中的数据,只需要执行以下步骤:
1. 连接到MySQL数据库。
2. 使用UPDATE语句更新表中的数据。
3. 提交更改。
以下是一个示例代码,展示了如何在Python中更新MySQL表中的数据:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
```
在上面的代码中,我们使用UPDATE语句更新名为“EMPLOYEE”的MySQL表中所有男性员工的年龄。在该语句中,我们使用条件WHERE子句来设置更新条件。然后,我们调用db.commit()方法提交更改。如果在操作过程中出现错误,则可以使用db.rollback()方法回滚更改。
删除数据
如果要从MySQL表中删除数据,只需要执行以下步骤:
1. 连接到MySQL数据库。
2. 使用DELETE语句删除表中的数据。
3. 提交更改。
以下是一个示例代码,展示了如何从MySQL表中删除数据:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
```
在上面的代码中,我们使用DELETE语句从名为“EMPLOYEE”的MySQL表中删除所有年龄大于20岁的员工。在该语句中,我们使用条件WHERE子句来设置删除条件。然后,我们调用db.commit()方法提交更改。如果在操作过程中出现错误,则可以使用db.rollback()方法回滚更改。
Python大麦抢票爬虫代码
Python爬虫是一种从因特网上收集特定类型数据的自动化程序。在这里,我们将重点介绍如何使用Python爬虫从大麦网上抓取演唱会门票的数据。
首先,我们需要找到大麦网上想要抓取的演出的URL。接下来,我们将使用requests和BeautifulSoup库,生成具有解析演唱会名称和票价信息的代码。然后,我们将启用组件启用组件Enabled Component和JavaScript,以实现实时抢票功能。
以下是一个示例代码,展示了如何在Python中使用爬虫从大麦网上抓取演唱会门票数据:
```python
import requests
from bs4 import BeautifulSoup
# URL
url = 'https://detail.damai.cn/item.htm?id=584728730883'
# 获取HTML内容
html = requests.get(url).text
# 创建BeautifulSoup对象
soup = BeautifulSoup(html, 'html.parser')
# 解析HTML内容
product_title = soup.find('h1', {'class': 'perform__title'}).text.strip()
product_price = soup.find('span', {'class': 'price'}).text.strip()
# 输出结果
print('Product Title:', product_title)
print('Product Price:', product_price)
```
在上面的代码中,我们使用requests库从大麦网获取演唱会门票信息。然后,我们使用BeautifulSoup库解析HTML内容,并找到演唱会名称和票价信息。最后,我们将结果打印到控制台中。
总结
Python与MySQL结合使用可以帮助我们轻松地实现与数据库交互的操作。在本文中,我们介绍了如何使用pymysql库连接到MySQL数据库,并实现插入、查询、更新和删除数据操作。
此外,我们还介绍了如何使用Python爬虫从大麦网上抓取演唱会门票数据。这显示了Python语言在数据抓取和分析方面的强大功能,以及如何将其与其他工具结合使用。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复