美文网首页
程序小白的Python连接Mysql全过程记录

程序小白的Python连接Mysql全过程记录

作者: 如梦之Rain | 来源:发表于2018-06-13 17:30 被阅读179次

之前花了好长时间装mysql,碰到很多问题,又卸又装又是找图形界面软件的,现在决定整理一下过程。总算连接成功!

下面是版本/软件说明:

1、Python版本:3.4

2、Mysql版本:mysql-5.6.30-winx64

3、操作Mysql的图形界面软件:Navicat for MySQL

等会儿把2、3的软件都打包到云盘好啦,谁知道我电脑何年何月又得重装....(近一年内我的电脑已经重装四次...sigh....

【注:在文章最后】

Mysql版本的问题,现在官网出的最新版(针对win系统)到了5.7,由于我选择的是免安装版本,所以只能找安装教程。没注意,结果看的是百度经验上5.6版本的安装教程,这导致我后面5.7的时候死活安装不成功,只有把5.7卸了(注册表清理了)一通又重新安装回5.6的版本。

下面贴上百度的教程:http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html

其中,5.7和5.6版本的最大不同就是,5.7版本的Mysql目录下【没有data】文件夹!

不过我手速太快,一看找错了就直接删了,不知道自己新建一个data文件夹是不是就没问题了

总之,我们就用5.6的版本吧,记得安装完把路径加到系统Path里面。

安装成功后,转到下一步,就是用Navicat连接Mysql。

下载完Navicat后解压即可,找到Navicat.exe打开。

程序小白的Python连接Mysql全过程记录

自己定义一个连接名,其他的设置都保持默认值。由于Mysql第一次的连接默认密码为空,所以不用管。可以先点下“连接测试”观察是否连接成功,记得在此之前要net start mysql启动服务才行。

接下来进入刚才新建的mysql连接,发现有test数据库。我们直接用test数据库建立一张简单的test1表,添加几个字段和行值,方便后续Python的连接测试输出。

其中ID是主键(int),name是char,age是int。建好进入到下一步。

程序小白的Python连接Mysql全过程记录

一开始我找了很久的Python3.x版本mysqldb,没找到。后来发现mysql官网有提供connect驱动,下载后却无法顺利安装。这时候看到有人推荐了github上的PyMySQL包,支持py3.4的版本,开心!(注:如果是python2.7的用户,你们可以直接下载python官网提供的mysqldb,支持的版本就是2.7)

贴上PyMySQL的官方:https://github.com/PyMySQL/PyMySQL

直接pip install PyMySQL就好了。可以pip freeze下检查是否装上了。

接下来最后一步就是,编写一段测试的py代码。

用pycharm编写如下:

程序小白的Python连接Mysql全过程记录

*************************懒人通道**************************

import pymysql

try:

    # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库

    conn = pymysql.connect(host='localhost', user='root', passwd='', db='test', port=3306, charset='utf8')

    cur = conn.cursor()  # 获取一个游标

    cur.execute('select * from test1')

    data = cur.fetchall()

    for i in data:

        # 注意int类型需要使用str函数转义

        print("ID:"+str(i[0])+' Name:'+i[1]+' Age:'+str(i[2]))

    cur.close()

    conn.close()

except Exception:

    print('发生异常')

*****************************************************************

得到正确输出:

程序小白的Python连接Mysql全过程记录

注意,“+”的写法要确保连接的是string型,一开始没太注意写错了就直接“异常”。

也建议异常处理写得再详细些,免得以为就是数据库连接出问题了,其实也有可能是数据处理的环节不对。

顺便:http://drizzlewalk.blog.51cto.com/2203401/448874

好像和mysqldb的语法基本一样,讲得比较详细,可以参考

再就是,有朋友推荐用sqlite,Python好像稍微高一些的版本都默认支持sqlite。我一开始也没太注意,如果数据处理量不是特别大,要求不是很高的话,sqlite应该可以省不少事。

好了,我看看打包一下程序,然后把云盘贴上来。(其实我知道只有我一个人看,我就是怕自己某天重装电脑后又忘了,得重新摸索一次2333

——————————————

1、navicat for mysql10.0.11简体中文破解版

链接:http://pan.baidu.com/s/1pL3VQQ3 密码:2bli

2、mysql-5.6.30-winx64

http://pan.baidu.com/s/1c2dnW3I

相关文章

网友评论

      本文标题:程序小白的Python连接Mysql全过程记录

      本文链接:https://www.haomeiwen.com/subject/xifseftx.html