暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

运维家 2022-06-02
694

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

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

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数据库中删除数据

import pymysql

db = pymysql.connect(
    host="127.0.0.1",
    user='yunweijia',
    password='yunweijia@123!@#',
    database='yunweijia',
    port=3306
)  # 建立连接
cursor = db.cursor()  # 游标
Sql = """DELETE FROM ceshi WHERE name = '赵六';"""  # 要执行的sql命令
cursor.execute(Sql)  # 执行sql
db.commit()  # 提交执行
db.close()  # 关闭连接

执行完毕之后,我们再次去数据库中查看,此时,信息如下图:

8、使用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 = """UPDATE ceshi SET age = "30" WHERE name = "王五";"""  # 要执行的sql命令
cursor.execute(Sql)  # 执行sql
db.commit()  # 提交执行
db.close()  # 关闭连接

运行之后看下数据库中的数据是否进行了修改,如下图:

可以看到他的年龄确实进行了修改,对吧。

至此,本文结束,更多相关内容每日更新。

 

长按以识别二维码关注运维家~
微信号:yunweijia0909


往期推荐

linux控制用户密码失效时间

linux搭建mongodb数据库副本集

01-docker系列-linux下的docker安装



文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论