0

python爬虫-21-三分钟python读写mysql数据库

 2 years ago
source link: https://blog.51cto.com/u_12386780/5377202
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

​MySQL​​​是最流行的关系型数据库管理系统,在​​WEB​​​应用方面​​MySQL​​​是最好的 ​​RDBMS​​​(​​Relational Database Management System​​​:关系数据库管理系统)应用软件之一。这篇文章将简单的来实现使用​​python​​​对​​mysql​​数据库进行增删改查操作。

python爬虫-21-三分钟python读写mysql数据库_sql

1、mysql数据搭建

这里可以参考下之前的文章,如下:

 ​centos7/linux编译安装mysql8最新版​

2、python操作mysql的对应模块安装

​python​​​针对操作​​mysql​​​数据库提供了很多模块,我们这里使用​​pymysql​​​模块,来使​​python​​​能对​​mysql​​进行操作,所以我们需要先安装下这个模块,命令如下:

pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple

3、测试数据库信息

当我们根据第一步搭建完毕之后,例如我的数据库信息地址如下:

host="127.0.0.1",
user='yunweijia',
password='yunweijia@123!@#',
database='yunweijia',
port=3306

且有一个名字为​​ceshi​​的表,里面的信息如下:

python爬虫-21-三分钟python读写mysql数据库_sql_02

4、python连接mysql数据库

import pymysql

db = pymysql.connect(
host="127.0.0.1",
user='yunweijia',
password='yunweijia@123!@#',
database='yunweijia',
port=3306
) # 建立连接
cursor = db.cursor() # 游标
cursor.execute("select 1") # 执行sql
data = cursor.fetchone() # 获取结果
print(data) # 输出结果
db.close() # 关闭连接

运行结果如下:

5、使用python在mysql数据库中新增数据

import pymysql

db = pymysql.connect(
host="127.0.0.1",
user='yunweijia',
password='yunweijia@123!@#',
database='yunweijia',
port=3306
) # 建立连接
cursor = db.cursor() # 游标
Sql = """INSERT INTO `yunweijia`.`ceshi`(`name`, `age`, `area`, `date`, `like`) VALUES ('赵六', 21, '北京', '1997-01-01 00:00:00', '学习');""" # 执行的sql命令
cursor.execute(Sql) # 执行sql
db.commit() # 提交执行的sql
db.close() # 关闭连接

运行完毕之后,无信息输出,这个时候我们可以再次打开表看下,是不是多了一条数据呢,如下图:

可以看到我们“赵六”的信息已经成功插入了。

python爬虫-21-三分钟python读写mysql数据库_sql_03

6、使用python在mysql数据库中查询数据

查询数据的时候有几种查询方式:

  • ​fetchone()​​:这个方法每次只获取一条数据;
  • ​fetchall()​​:这个方法接收全部的返回结果;
  • ​fetchmany(size)​​:可以获取指定条数的数据;

我们具体例子看下:

import pymysql

db = pymysql.connect(
host="127.0.0.1",
user='yunweijia',
password='yunweijia@123!@#',
database='yunweijia',
port=3306
) # 建立连接
cursor = db.cursor() # 游标
Sql = """SELECT * FROM ceshi;""" # 执行的sql
cursor.execute(Sql) # 执行sql
while True: # 判断是否为真
result = cursor.fetchone() # 每次获取一条数据
if not result: # 判断是否还有数据,没有就break该循环
break
print(result) # 打印数据
print('-'*10)
db.close() # 关闭连接

运行结果如下:

('张三', 18, '北京', datetime.datetime(2000, 1, 1, 0, 0), '吃饭')
----------
('李四', 19, '北京', datetime.datetime(1999, 1, 1, 0, 0), '睡觉')
----------
('王五', 20, '北京', datetime.datetime(1998, 1, 1, 0, 0), '打游戏')
----------
('赵六', 21, '北京', datetime.datetime(1997, 1, 1, 0, 0), '学习')
----------

其他的​​fetchall()​​​和​​fetchmany(size)​​参数使用方法类似,就不一一举例了。

7、使用python在mysql数据库中删除数据

剩余内容请转至VX公众号 “运维家” ,回复 “182” 查看。

------ “运维家” ,回复 “182”  ------

------ “运维家” ,回复 “182”  ------

------ “运维家” ,回复 “182”  ------

系统运维工程师,运维工程师技能要求,成都运维工程师驻场开发收费标准,t3网络运维工程师,运维工程师社会需求,运维工程师修炼手册;

oppo高级运维工程师社招,运维工程师员招聘要求,中级运维工程师技术水平,大数据运维工程师月薪多少,运维工程师的个人发展计划,应届生面试运维工程师穿着;

系统运维运维工程师,中国移动网络运维工程师笔试,徐州市苏宠集团运维工程师待遇,云南运维工程师培训班;

监控系统运维工程师,高铁运维工程师是正式工 吗,郑卅软件运维工程师招聘,运维助理工程师好不好。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK