vlambda博客
学习文章列表

python-对数据库的增删改查

 测试小伙伴对数据库应该都是很熟悉的,毕竟在我们的工作中经常需要校验库中的数据。今天就给大家讲一下在Python中如何连接数据库并实现基本的增删改查操作~


01


安装pymysql模块 

    

    以mysql为例,如果在Python中要对mysql数据库进行操作,首先要安装pymysql的模块,安装模块有常用的两种方法:

1、使用pip install, 命令如下:
     pip install是我们经常会使用到的命令,这里给大家补充两个国内的源链接,可以在安装时很大程度提升安装的速度,使用方法也很简单,就是在原来的pip命令后面加上 -i 再加上源链接就可以~
python-对数据库的增删改查
2、第二种安装模块的方法也很简单,就是在pycharm的Project Interpreter中手动添加pymysql模块,添加成功之后就会在这个列表中显示(大小写不敏感哦)

python-对数据库的增删改查


02


创建数据库&表   


    在连接数据库之前,数据库中要有数据供我们对其进行操作,测试阶段我们可以在本机的数据库中创建一个库,并在其中创建一张表和插入一些数据,具体的步骤如下:   

python-对数据库的增删改查

    通过这几步我们就有了可以操作的数据库对象,之后我们就对这些数据进行简单的操作。

 

03


数据库连接 & 查询  


    数据创建成功之后,我们在py文件中import pymysql模块,连接到这个数据库,并使用查询语句查询user表中的数据验证数据库是否正常连接,具体代码如下: python-对数据库的增删改查

    查询结果以元祖的形式返回,这里的打印结果正确显示了我们之前在user表中插入的数据,这也就说明我们数据库已经正确连接上了。

连接数据库 :   

python-对数据库的增删改查

    上面这一行代码就完成了python和目标数据库之前的连接(固定写法),其中字段的值根据实际情况替换即可,括号中的参数具体含义如下:

python-对数据库的增删改查

数据查询 :

    刚刚在验证数据库是否正确连接的时候,我们已经进行了数据库查询的操作,代码如下:

    sql语句:select * from user;

python-对数据库的增删改查

    这几行代码就实现了从数据库中读取对应sql查询的数据,并将结果打印。这几步可以当做查询操作的固定写法,只是其中的“ sql语句”根据实际情况替换就可以了。


04


新增数据

    

    查询完成后,我们向数据库中新增一条数据,代码如下:

    sql语句:insert into user(id,name) values (4, 'lala');

python-对数据库的增删改查

    数据库操作中增、删、改都属于修改操作,需要在sql语句执行完之后commit一下让数据库执行sql,这是与查询操作的区别。

    执行完毕之后,我们去数据库查询一下数据是否添加成功,查询语句如下:


    通过查询发现插入的数据已经正确显示在user表中,这样新增数据就成功了。


05


更新/修改数据

    

    我们将表中id=1的name字段进行更新,具体操作如下:

    sql语句:UPDATE user SET name = 'wuaihua888' WHERE id=1;

python-对数据库的增删改查

    执行文件后去数据库中查询对应数据,下图的查询结果显示数据已成功修改:

python-对数据库的增删改查


06


删除数据

 

    删除数据与新增、更新数据的操作类似,区别仅在于其中的sql语句不同,下面的代码表示删除user表中id大于3的所有数据:

    sql语句:"DELETE FROM user WHERE id > %s" % (3)python-对数据库的增删改查

    代码执行之后,我们同样去数据库验证一下,可以看到数据库中user表中id大于3的数据已经全部被删除,实现效果如下:


07


总结


    以上几步就是Python中对数据库的基本操作:增删改查的实现啦~ 其实全部看下来就会知道,这四种基本上都是一个固定写法,区别只在于用户传递的sql语句。需要注意的一点是除了查询以外,增删改的操作需要在最后commit一下让数据库去执行sql语句才行哦~

    在实际使用的过程中,我们一般会将这些逻辑封装以便于后期调用,有兴趣的小伙伴可以在实现上面这最基本的几步之后自己封装试试哦~ 😝


写在最后:

    希望能够帮助看到这篇文章的小伙伴,要是觉得不错的话欢迎分享,有好的建议也随时欢迎大家指导!有问题的欢迎私信我呦~~~ 🤗

    之后有时间会在这里不定期更新讲一些测试相关并且很实用的知识点。今天就先酱,爱你们哦,👋挥手一分钟,拜~