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

387 阅读3分钟

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

图片

1、mysql数据搭建


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

往期推荐

[

centos7/linux编译安装_mysql_8最新版

](mp.weixin.qq.com/s?__biz=Mzg…)

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的表,里面的信息如下:

图片

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()  # 关闭连接

运行结果如下:

(1,)

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()  # 关闭连接

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

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

图片

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(20001100), '吃饭')
----------
('李四'19'北京', datetime.datetime(19991100), '睡觉')
----------
('王五'20'北京', datetime.datetime(19981100), '打游戏')
----------
('赵六'21'北京', datetime.datetime(19971100), '学习')
----------

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

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

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

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

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

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

系统运维工程师,运维工程师技能要求,成都运维工程师驻场开发收费标准,t3网络运维工程师,运维工程师社会需求,运维工程师修炼手册; oppo高级运维工程师社招,运维工程师员招聘要求,中级运维工程师技术水平,大数据运维工程师月薪多少,运维工程师的个人发展计划,应届生面试运维工程师穿着; 系统运维运维工程师,中国移动网络运维工程师笔试,徐州市苏宠集团运维工程师待遇,云南运维工程师培训班; 监控系统运维工程师,高铁运维工程师是正式工 吗,郑卅软件运维工程师招聘,运维助理工程师好不好。

本文使用 文章同步助手 同步