数据治理|Stata如何直连关系型数据库

查看原文:【数据seminar】数据治理|Stata如何直连关系型数据库

我们将在数据治理板块中推出一系列原创推文,帮助读者搭建一个完整的社科研究数据治理软硬件体系。该板块将涉及以下几个模块:

  1. 计算机基础知识

(1)社科研究软硬件体系搭建——虚拟化技术概述与实践

  1. 编程基础

(1)数据治理 | 带你学Python之 环境搭建与基础数据类型介绍篇

(2)数据治理 | 带你学Python之控制结构与函数

(3)数据治理 | 带你学Python之面向对象编程基础

(4)数据治理 | 还在用Excel做数据分析呢?SQL它不香吗

(5)数据治理 | 普通社科人如何学习SQL?一篇文章给您说明白

  1. 数据采集

  2. 数据存储

(1)安装篇 数据治理 | 遇到海量数据stata卡死怎么办?这一数据处理利器要掌握

(2)管理篇 数据治理 | 多人协同处理数据担心不安全?学会这一招,轻松管理你的数据团队

(3)数据导入数据治理 | “把大象装进冰箱的第二步”:海量微观数据如何“塞进”数据库?

(4)本期内容:数据治理|Stata如何直连关系型数据库

  1. 数据清洗

  2. 数据实验室搭建

目录

Part 1  前言

Part 2  准备工作

1. 安装 ODBC

2. 配置 ODBC

Part 3  Stata 读取 MySQL 数据

1. 使用图形化界面

2.使用stata命令

Part 4  Stata 数据写入 MySQL

Part 5  总结


Part 1  前言

在前面的系列推文中,我们已经讲解了MySQL数据库的安装,以及如何把数据导入MySQL

本文我们主要介绍如何让Stata读取MySQL数据库中的数据,这样做的好处有以下几点:

  1. Stata载入的数据量不能超过内存大小。如果处理的数据量非常大,可以先把数据导入数据库,然后使用Stata调用部分数据。

  2. Stata处理完毕的数据可以非常方便地保存到数据库中。

  3. 可以通过网络访问MySQL数据库,将处理好的数据共享给其他用户调用,避免了数据重复拷贝。

Part 2  准备工作

1. 安装 ODBC

Stata需要通过ODBC驱动与MySQL数据库连接。ODBC即开放数据库连接(Open Database Connectivity),它可以为各类数据库开放一个对外交流的接口,使得各类应用程序(如Stata、excel)可以通过SQL语句对数据库内容进行操作。

安装、设置完MySQL 及MySQL ODBC驱动后,在Stata中可以使用odbc命令通过ODBC获取 、写入和查看数据库数据。MySQL数据库的安装可以看早期的推文。本文我们演示如何安装MySQL/ODBC驱动。

下载地址:https://dev.mysql.com/downloads/connector/odbc/ ,选择好操作系统相关参数,选择【MSI Installer】下载。

下载完毕后,双击【mysql-connector-odbc-8.0.28-winx64.msi】,出现如下安装界面,点击【Next】。

同意安装协议。

选择【Typical】安装类型,点击【Next】。

最后点击【Install】,开始安装。

片刻后,安装完毕,点击【Finish】退出安装界面。

2. 配置 ODBC

在【开始菜单】中,找到【Windows管理工具】下的【ODBC 数据源(64位) 】。

选择【用户DSN】或者【系统DSN】进行添加,我们演示添加【系统DSN】,在窗口右侧点击【添加】。

在【创建新数据源】弹窗中,选择 【MySQL ODBC 8.0 Unicode Driver】,然后点击【完成】。

配置连接参数。

配置完毕后,点击【确定】退出。

Part 3  Stata 读取 MySQL 数据

1. 使用图形化界面

点击【文件】,【导入】,【ODBC数据源】。

在【从ODBC数据源导入数据】弹窗中,进行配置,最后点击【确定】。

可以在【数据编辑器】中查看导入的数据。

2.使用stata命令

查看已经设置的数据源。

odbc list 

读取数据,并查看读入的数据。

odbc load price="price" mpg="mpg", table("auto") clear lowercase noquote bigintasdouble

desc

Part 4  Stata 数据写入 MySQL

首先,我们在Stata中准备一个样例数据用于演示,我们使用 【bplong.dta】这个内置的数据集。

sysuse bplong.dta

数据从stata导入mysql,之前需要在mysql中事先创建一个空表,可以使用如下语句:

odbc exec("create table bplong (`patient` int(11), `sex` varchar(10),`agegrp` varchar(10), `bp` int(11));"), dsn("hello_stata_mysql")

可以在stata中查看建表的情况。

odbc query "hello_stata_mysql"

导出数据到mysql。

odbc insert patient sex agegrp bp, table("bplong")

可以在mysql中看到数据已经导入成功。

Part 5  总结

在研究过程中需要处理大数据量的时候,如果计算机的内存不足,可以先把数据导入数据库中使用SQL进行处理,或者分批传入到stata中处理。

更多Stata与数据库交互的命令,可以在stata中运行 help odbc 查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值