Py学习  »  DATABASE

hello,MySQL——Stata连接MySQL数据库

爬虫俱乐部 • 6 年前 • 866 次点击  


3月8日

春回大地,美丽绽放


爬虫俱乐部即将推出研究助理供需平台,如果您需要招聘研究助理(Research Assistant or Research Associate),可以将您的需求通过我们的公众号发布;如果您想成为一个RA,可以将您的简历发给我们,进入我们的研究助理数据库。帮我们写优质的推文可以提升您被知名教授雇用的胜算呀!


有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

喜大普奔~爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~

        新学期新气象,小编在这里向大哥大嫂拜个晚年(滑稽)。常看爬虫俱乐部文章的读者可能知道,凡是这位小编写的推文,总是不太正经,有点“旁门左道”的意思。但今天小编推送的内容是如假包换的“正道”。本篇文章将向大家展示如何实现Stata与著名的MySQL数据库连接,并在随后的推文中详解我们如何通过Stata操纵MySQL数据库。

        所谓正道,在小编看来一定满足三个条件,“有料——这是新的知识”,“有效——它能有效解决某类问题”,“可累进——依托该知识,我们可以继续探索新技能”。而Stata与MySQL的交互知识就是这样的光明大道。正所谓“金风玉露一相逢,便胜却人间无数。”

        想必大家看到这里还是一头雾水,MySQL是什么,为什么我们要使用MySQL,别着急,这篇推文就为您娓娓道来。

什么是MySQL?

        MySQL是最流行的关系型数据库管理系统之一,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、可移植性佳、总体拥有成本低,尤其是开放源码这一特点,备受中小企业及个人开发者青睐,一般中小型网站的开发都选择 MySQL 作为网站数据库。

为什么要使用MySQL?

1.内存限制

        我们知道,当Stata载入一个数据集时,数据是被读入到内存中并进行计算,那么有得必有失,这也就锁死了数据集本身的大小限制——数据集规模不能比当前电脑的内存大,否则会读取失败。此时许多Stata用户退而次之的办法就是——将一份大数据切割为N份小数据,然后对它们依此处理。

        有了MySQL就会有更好的方法吗?当然,那就是将这份数据集存入MySQL数据库中,每当开启Stata读取数据时,可以指定部分观测值载入Stata中,虽然读入的数据依旧不能超过内存大小,但它实现了“一份数据一个存档,统一修改统一操作”,毫无疑问是更优美的解决方案。

2.数据集需要被高频反复修改

        想象一下你正在做关于清洗数据的工作,新的观测值正在不断被添加进来。其实你一定已经厌烦了这种“打开Stata,读入数据,增加/删改观测值,再保存起来”的日子,如果忽然有一天,你的同事告诉你,刚刚的操作是错误的,需要回撤呢?这不是小编恶毒的诅咒,而是许多烟酒僧的血泪史。

        如果你曾被或者正在被类似的问题折磨,欢迎加入MySQL的怀抱,所有基于数据库表的操作都存有记录,支持数据备份,数据回滚,它更加安全,更加简洁,最重要的是,容量更大。

3.联机数据库

        如果你的电脑处在一个局域网内,并且你的Stata需要用到局域网内另一台电脑里的数据,那么你会怎么办?用U盘拷贝dta文件过来?当然这不是说不可以,但我们现在有一个更好的办法,那就是将数据存入数据库,并为数据库设置一个网络端口,我们就可以通过局域网直接拉取另一台计算机内数据库的数据,不需要dta,不需要U盘。

安装MySQL

        关于如何安装MySQL,由于篇幅原因,本篇推文不再赘述,请参阅CSDN上的一篇教程文章http://blog.csdn.net/win_turn/article/details/73810837

        1.在安装过程的Account and Roles部分,安装程序会提示你设置Root Password,这是数据库的最高权限账户root的密码,请设置好后牢记。

        2.在Installer程序的指定安装部分的环节,可以看到有一堆组件可供选择,其中最核心的是MySQL Server,请务必选中安装,其它组建可以选择安装,如Workbench为MySQL的可视化组件。

安装MySQL ODBC驱动

        ODBC意即开放数据库连接(Open Database Connectivity),它旨在为各类数据库开放一个对外交流的接口,使得各类应用程序(如Stata、excel)可以以SQL语句通过这个接口直接对数据库内容进的行操作,如读取、修改、增加等。

        1.进入MySQL官网下载相应版本驱动https://dev.mysql.com/downloads/connector/odbc/

        在【Select Platform】下拉列表框中选择自己电脑操作系统版本。然后依据自己操作系统位数,是32位还是64位,点击右边的【Download】进入安装包下载界面(小编的是64位)。如下图:


        2.进入下载界面后,我们不登录(Login)也不注册(Sign Up)。直接点左下角的【No thanks,just start my download.】即可开始下载。

        3.下载完安装包后,双击打开安装包,按照默认选项进行安装即可。一般来说,如果您的MySQL安装路径同样是默认的,则odbc会和mysql在同一目录下,即C:\Program Files\MySQL目录下。

        4.配置数据源

        (1)在控制面板中找到管理工具。

        

       (2)在弹出的窗口中双击选择数据源(ODBC)快捷方式,可能名称不完全一样,但也大同小异。


        (3)在用户DSN选项卡中单击添加按钮,然后选择“MySQL ODBC 5.3 Unicode Driver”。


在选择完毕后,会弹出一个初始化表单,内容简介如下:

   1、Data Source Name:即数据名称,这是在ODBC层面的名称,应用程序通过调用该名称进行操作,这个名字并不需要是数据库名或者表名。

        2、Description: 顾名思义,是关于这个数据库的描述

        3、TCP/IP Server: 即数据库所在的地址,当我们调取本机内的数据库时,地址一律是localhost,端口默认为3306,当您想拉取互联网上的某个数据库时,可以在此配置为该数据库相应的IP地址及相应端口。

        4、User: 即访问该数据库所使用的用户名,如果是本机读取数据库,就可以填您平时操作数据库时所用的用户名,如果是拉取互联网上的数据库时,可以与管理员联系得知访问账户及密码。

        5、Password: 与User相应的密码。

        6、Database: 即您需要访问的数据库名。事实上MySQL可以存储多个数据库,每个ODBC实例只能连接一个数据库。


        在这里,小编的odbc实例名称为stata_mysql,连接的是本地一个叫stataclub的数据库,用户名为snowman。

        需要提醒的是:在这里小编连接的stataclub数据库是小编自己创建的,您的MySQL在刚刚安装完毕后并没有,作为尝试,您可以连接MySQL自带的系统数据库,如sys,用户名使用初始的最高权限账户root,密码即为安装时设置的密码。

        当您填好表单,即可点击一下test按钮测试是否连通。如果成功,会弹出一个成功提示,此时odbc即配置完毕了。

        如果您的test没有成功,除了检查表单内是否填写错误,同时关注一下MySQL服务在本机是否开启,如果没有开启,则在服务中查找并开启。如下图所示:








注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同,纯属巧合!


以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!

       广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~



文字编辑/祁让坤

技术总编/刘贝贝


往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.命令sum2docx输出统计量表到docx文件

4.reg2docx报告你的实证结果吧!

5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件

6.putdocx+wordconvert—将实证结果输出到Word.docx)文档

7.Stata 15Markdown——没有做不到,只有想不到!

8.矩阵和宏的故事

9.shelloutopen anything

10.Putpdf--神奇的转换工具



关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/UVsYQPnNEZ
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/8366
 
866 次点击