作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆向等等,,目前为全职爬虫工程师,学习的过程喜欢记录,目前已经写下15W字电子笔记,因此你看到了下面这篇文章~
技术栈:Python、HTML、CSS、JavaScript、C、Xpath语法、正则、、MySQL、Redis、MongoDB、Scrapy、Pyspider、Fiddler、Mitmproxy、分布式爬虫、JAVA等
个人博客:https://pythonlamb.github.io/
大学作品合集:https://sourl.cn/h9M2jX
欢迎点赞⭐️收藏关注留言呀
登高必自卑,行远必自迩.
我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
希望在编程道路上深耕的小伙伴都会越来越好
答:用 python 代码充当客户端,对数据进行增删改查等操作
连接前准备: pip3 install pymysql 安装 pymysql 包
第一步:导入 pymysql 模块 即 import pymysql
第二步:建立数据库连接对象(相当于建立一条通信的高速公路)
语法:connection = pymysql.connect(host,port,root,possword,database,charset)
参数详解:
host:数据库所在的主机
port:连接数据库主机的端口号,可省略,默认3306
user:连接数据库用户名
password:连接数据库密码
database:要连接的数据库名
charset:通信采用的编码,可省略,默认是 utf-8
第三步:在连接(公路)的基础上,(利用高速公路)创建游标对象(相当于高速公路上的通信兵)
详解:cursor 相当于数据库与 python 端的通信兵,数据库数据的操作以及取出都是靠这通信兵来完成
语法:游标对象 = 连接对象.cursor() 例如 cursor_obj = connection.cursor()
第四步:利用通信兵的 execute 方法对数据库的数据进行查询操作,并返回影响数据库几行数据的结果!
关键字:execute
语法:num_result = cursor_obj.execute(SQL语句)
注意:
1:返回的结果是num类型
2:SQL语句是查询语句那就影响所有行数
3:SQL语句是字符串类型
第五步:利用通信兵的fetchone或者fetchall方法查询数据库的数据
关键字:
fetchone():查询数据库第一行数据
fetchall():查询数据库所有数据
语法:
1:data_result = cursor_obj.fetchone( )
2:data_result = cursor_obj.fetchall( )
注意:fetchone或者fetchall方法查询数据返回的结果都是元组,不同的是fetchone返回的是一个元组,如果数据库有多行数据则fetchall返回的是元组的嵌套
第六步:关闭通信兵以及高速公路
关键字:close
语法:
connection.close()
cursor_obj.close( )
截图演示:
代码演示:
关键字:execute
语法:
返回影响行数值 = 游标对象 . execute(增删改SQL语句) 例如 result_num = cursor_obj.execute(SQL语句)
连接对象.commit() 即对数据表修改后需要提交!!
注意事项:
1:在对数据库进行增删改操作之后,需要提交修改,做的更改才会生效,否则不生效
2:对数据库进行增删改需要提交,查询操作不需要提交!
3:commit提交不是用游标对象提交,而是用连接对象来提交
代码演示:
答:fetchone()与fetchall()方法只有在查询数据库(即查询数据库的SQL语句:select……)的时候才能打印出数据,当增删改数据库里面数据的时候,使用fetchone()或fetchall()方法是查询不出来数据的
持续更新中…