python爬虫项目教程二手书

在Python中,调用别的数据库通常需要使用相关的数据库连接库和驱动程序。常见的数据库连接库有MySQLdb、psycopg2、pyodbc等,驱动程序则是针对不同的数据库而提供的。本文以MySQL为例,介绍如何在Python中使用MySQLdb库连接MySQL数据库。

1. 准备工作

在使用MySQLdb库前,需要先安装MySQL服务端和客户端,并创建一个数据库和一张表。可以参考以下步骤:

1)在Linux系统中,使用以下命令安装MySQL服务端和客户端:

sudo apt-get install mysql-server mysql-client

2)启动MySQL服务并登录MySQL:

sudo service mysql start

mysql -u root -p

3)创建一个新的数据库和一张表:

CREATE DATABASE bookstore;

USE bookstore;

CREATE TABLE books (

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

author VARCHAR(50) NOT NULL,

price DECIMAL(10,2),

PRIMARY KEY (id)

);

在表里插入几条数据:

INSERT INTO books (name, author, price)

VALUES ('Python for Data Science', 'John Smith', 35.99),

('Data Structures and Algorithms', 'Alice Brown', 45.50),

('Machine Learning with Python', 'Bob Lee', 59.99);

2. 使用MySQLdb库连接数据库

在Python中,使用MySQLdb库连接MySQL数据库的步骤如下:

1)安装MySQLdb库:

pip install MySQL-python

2)导入MySQLdb库:

import MySQLdb

3)连接MySQL数据库:

conn = MySQLdb.connect(

host='localhost', # MySQL服务器IP地址

port=3306, # MySQL服务器端口号

user='root', # MySQL用户

passwd='password', # MySQL用户密码

db='bookstore', # 要连接的数据库名称

charset='utf8' # 使用的字符集

)

4)创建游标对象:

cursor = conn.cursor()

5)执行SQL语句:

# 查询所有书籍

sql = 'SELECT * FROM books'

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

print(row)

# 插入一本新书

sql = "INSERT INTO books (name, author, price) VALUES ('Introduction to Python', 'Tom Allen', 29.99)"

cursor.execute(sql)

conn.commit()

# 关闭游标和数据库连接

cursor.close()

conn.close()

以上代码中,使用execute()方法执行SQL语句,并使用fetchall()方法获取查询结果。要注意,执行INSERT、UPDATE、DELETE等非查询语句后,需要使用commit()方法提交事务。最后,使用close()方法关闭游标和数据库连接。

3. 可能遇到的问题

在使用MySQLdb库连接MySQL数据库时,可能会遇到以下问题:

1)ModuleNotFoundError: No module named ‘MySQLdb’

这是因为MySQLdb库在Python 3.x中已经被弃用,需要使用pymysql或mysql-connector库代替。可以使用以下命令安装pymysql库:

pip install pymysql

然后将代码中的MySQLdb替换为pymysql即可。

2)OperationalError: (2003, “Can’t connect to MySQL server on ‘localhost’ (111)”)

这是因为MySQL服务器未启动或未在本地运行。可以使用以下命令检查MySQL服务器是否启动:

sudo service mysql status

如果MySQL服务器未启动,可以使用以下命令启动:

sudo service mysql start

如果MySQL服务器已启动但无法连接,则可能是防火墙阻挡了连接。可以使用以下命令打开MySQL服务器的端口:

sudo ufw allow mysql

4. 总结

本文介绍了在Python中使用MySQLdb库连接MySQL数据库的步骤和可能遇到的问题。使用MySQLdb库可以方便地连接MySQL数据库,并执行各种操作,如查询、插入、更新和删除数据。在实际项目中,根据不同的数据库,可能需要使用不同的库和驱动程序。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(115) 打赏

评论列表 共有 1 条评论

用指尖渲染你给我的伤╮ 2年前 回复TA

你不觉得你已经到了天下无敌不要脸的状态了么?

立即
投稿
发表
评论
返回
顶部