查看原文
其他

Stata与MySQL交互--基础操作

爬虫俱乐部 Stata and Python数据分析 2023-02-21

本文作者:孟孔,中南财经政法大学金融学院

本文编辑:赵微微

技术总编:李婷婷

Stata and Python 数据分析

     由李春涛教授团队成员司海涛薛原编写的《Stata正则表达式及其在财务数据中的应用》终于和大家见面啦!


购书链接:


爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~
引言
MySQL是最流行的关系型数据库管理系统之一,关系数据库将数据保存在不同的表中,提高了读取速度和灵活性。本篇文章基于Stata与MySQL的基本交互使用进行讲解。
一、环境准备

-下载MySQL数据库,下载地址https://dev.mysql.com/downloads/mysql/
具体安装过程可参考CSDN讲解https://blog.csdn.net/wangpaiblog/article/details/112000033 或 https://blog.csdn.net/wangpaiblog/article/details/121571927

-下载ODBC数据源软件,连接MySQL数据库,下载地址https://dev.mysql.com/downloads/conn ,具体安装与连接过程可参考https://blog.csdn.net/ztnhnr/article/details/108654369?

-需要注意Stata、MySQL和ODBC的操作系统32位或64位,需要保持一致性。我们的所有命令都是基于ODBC数据源。查看Stata操作栏中的ODBC数据源:
导入界面

导出界面

本文选择创建名为data的ODBC数据,链接MySQL中的db数据库,原有库中有classmate和data两个table,至此环境已经设定完成。在Stata中通过help odbc查看帮助,更全面的了解该命令的语法和用法。

二、MySQL创建表

使用命令行工具,打开登录我们创建的数据库中,创建库名为Stata_date的数据库,同时创建表名为Stata_auto的空表,创建变量并添加数据。
mysql -uroot -p输入密码********create database Stata_date;use Stata_date;create table Stata_auto( grade int, losal int, hisal int) comment '工资等级表';insert into Stata_auto values (1,0,3000);insert into Stata_auto values (2,3001,5000);insert into Stata_auto values (3,5001,8000);insert into Stata_auto values (4,8001,10000);insert into Stata_auto values (5,10001,15000);insert into Stata_auto values (6,15001,20000);insert into Stata_auto values (7,20001,25000);insert into Stata_auto values (8,25001,30000);
结果如下图所示:

三、Stata从MySQL导入数据

使用Stata导入我们上一步保存的Stata_auto表。需先在ODBC数据源中建立Stata_date数据库的连接。
odbc list //查看可以用的数据源odbc query "Stata_date" //从指定的数据源检索可用名称odbc load, table("Stata_auto") noquote //导入数据des
我们查看结果,可以看出数据成功导入。

四、Stata导出数据到MySQL

对导入的数据进行简单的处理,原有样本数量为8,我们增加样本数量为80个,同时补全缺失值。
set obs 80replace grade = _nreplace losal = (_n-9)*5000 + 30001 if losal == .replace hisal = (_n-8)*5000 + 30000 if hisal == .
补全完成后,我们将Stata内存中的数据导出到MySQL的Stata_auto表中。
odbc insert _all,table("stata_auto") dsn("stata_date") overwrite
保存效果图在MySQL Workbench(下载MySQL时自带的视图和操作软件) 或者DataGrip(需另外下载,编写和查看MySQL数据较为方便)查看。下图左边为workbench界面,右侧为DataGrip界面。

今天我们学习了如何使用Stata与MySQL的ODBC交互,下一次我们将进行更加深入的讲解,讲述如何使用Stata向MySQL发送指令,同时依托MySQL储存Stata分析结果,请持续关注。




(END)重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。


对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!



往期推文推荐      Jupyter Notebook中的魔术命令     《Stata正则表达式》由中国金融出版社出版发行          匿名函数lambda到底怎么用?

Stata绘图系列—NBER Working paper仿图

       Camelot:从PDF中提取表格数据      Stata之计算财务指标——融资约束

      列表生成式|让你的代码更简洁

Stata绘图系列——玩转绘图通用选项之坐标轴

       玩转地图的好帮手--pyecharts

       爬虫俱乐部又又又输送了一位研究助理!!!      【数据分析】一文教你玩转DataFrame

 震惊,爬虫俱乐部竟是这样运营答疑群的?!

【数据分析-入门】一看就会!Numpy的创建、索引、切片与更新

带你玩转Stata编码一言不合就teamviewer

【基础篇】循环语句的continue与break

        教你用Stata爬取全国疫情风险地区数据,原来这么简单!【数据结构】集合的使用方法      Stata爬取七普人口数据

       浅析Python的序列化与反序列化

     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



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

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里
为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可

以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存