python与Mysql交互 自学笔记

补充:一开始自学JAVA的时候,就觉得,程序与数据库交互非常非常难,感觉应该是学不会了,但是python插入脚本自学,基本上从零基础到能够插入,用了不到一天的时间。所以,信心对于学习新事物是非常重要的。学之前,需要相信自己一定可以学会。这里也分线箱目前学习的方法论:

1. 明确学习的方向,需要非常具体,最好是疑问句,比如:使用python怎么向Mysql数据库插入一条数据?

2. 查找前辈记录: 百度查询问题的关键字,翻阅记录找靠谱的答案!

3. 实践、实践、实践。过程中肯定会遇到很多问题,遇到问题先截图,分析问题原因,提问 ==》try ==》验证 ==》提问 == 》 try ==》验证;几轮之后就好了。基础学习是没有难题的,因为基本上你遇到的问题,别人早就遇到了【这句话是我看很多解决问题的博客里写的】

4. 总结:代码归档、博客总结、分享交流;bug修复过程分析整理。

 

       Hello,本小白自学爬虫的过程中,接到了一个任务,将爬取的数据插入到数据库中。以前抓取的数据直接写入excel,没什么难度,但是写数据库,还真的是零基础,仅以此文记录学习过程,希望对自己以及对同样有类似学习需求的童鞋们有些帮助。

 

第一步 安装本地数据库服务器

       想要操作数据库的前提是,要有个自己的数据库让你随便霍霍,但是从来就没搭建过数据库怎么办?论坛大腿有的是,我参照的论坛大腿:qq_35164169

直接上链接,mysql-5.7.17-winx64压缩版的安装包下载和安装配置       

 

        我自己操作了一下,博文大多数地方都是没问题的,在第八步,设置的密码是:123456     ;非并不是空的,还请注意

第二步 安装数据库访问工具

       本人正在使用的是Navicat,下载难度不大,应该难不了各位,就不放链接了

第三步 建库&表

        进入Navicat,左上方链接点击后,录入本地数据库账号密码:(root,123456,如果步骤1按照博文执行,生成的就是这个账号密码),点击下方链接测试,弹出连接成功,即可进入数据库,如下图

        进入数据库后,左侧列表中,右键链接名,如我这里起的名是:localhost,双击后,点击新建数据库,则可加入数据库,你可以为自己的数据库起名并配置字符集,如下图

        建完数据库之后,双击你的建的库,则右侧能够显示数据库的表结构,可进行新建表操作了:

        至于表单中的字段怎么设置,标间关系,不是本贴的重点,不进行说明,有需要的童鞋可能需要再查下论坛里大腿的帖子,会由答案的

  第四步 Python操作Mysql数据库      

        针对增删改操作,介绍比较详细的链接:Python在mysql中进行操作是十分容易和简洁的
        针对登录数据库,介绍比较详细的链接:Python学习笔记——Python中使用Mysql
        有了登录以及操作,python针对Mysql的基础操作,也就基本掌握了呀。好了先说到这,我也实践下,遇到问题会再更新~

     

附录:执行bug1:

产生原因及解决方法:

Bug2:

这个bug好理解,是因为插入的字段,超过了数据库字段长度,导致数据无法插入

Bug3,执行完脚本发现信息没有插入,

这就尴尬了,少了一行:

 

# -* - coding: UTF-8 -* -

import pymysql

db = pymysql.connect('localhost','root','123456','test')

cursor = db.cursor()

ID1 = 'test_OF_ID'
C_platform1 = 'test_OF_platform'
C_Broand1 = 'test_OF_Broand'
C_Motol_Type1 = 'test_OF_Motol_Type'
C_Style1 = 'test_OF_Style'
C_Models1 = 'test_OF_Models'
DT_Car_Board1 = 'Board'
C_Price1 = 'test_OF_Price'
C_City1 = '大连'


query = 'insert into tb_car_info_from_crawl (ID, C_platform, C_Broand, C_Motol_Type, C_Style, C_Models, DT_Car_Board, C_Price, C_City) values(%s,%s,%s,%s,%s,%s,%s,%s,%s)'
cursor.execute(query, (ID1,C_platform1,C_Broand1,C_Motol_Type1,C_Style1,C_Models1,DT_Car_Board1,C_Price1,C_City1))

db.commit()   #这一行没有加,导致insert数据没有插入,一定要加!
cursor.close()

db.close()

bug4: 插入mysql数据库后,中文存在乱码,

这个根本的原因还是因为数据库设置字符集不对,有多种不对的原因:1. 数据库服务的字符集不对,2. 数据库字符集不对 3. 表字符集不对

这个地方很纠结,找了很多资料,最给力的一个,

mysql插入表中的中文显示为乱码或问号的解决方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值