502 stata 如何读取SQL数据

本文主要介绍用Stata读取SQL数据的常用命令


502 stata 如何读取SQL数据_第1张图片
1

odbc list

查看当前有哪些可用的odbc驱动实例
odbc list produces a list of ODBC data source names to which Stata can connect

502 stata 如何读取SQL数据_第2张图片
2

odbc query

odbc query stata_mysql 查看在实例stata_mysql中有哪些表
odbc query show a list of table names available from a specified data source

502 stata 如何读取SQL数据_第3张图片
3

关于表:表是关系型数据库的基本存储结构,一个MySQL数据库中可以包含多张表。

odbc describe

odbc describe customers 查看stata_mysql中的表customers的基本情况,如这个数据集有多少个变量,变量类型是什么。
odbc describe lists column names and types for each table available

502 stata 如何读取SQL数据_第4张图片
4

odbc load

odbc load reads an ODBC table into memory
You can load an ODBC table specified in the table() option or load an ODBC table generated by an SQL Command specified in the exec() option.

odbc load, exec("SELECT * FROM customers") dsn("stata_mysql")

502 stata 如何读取SQL数据_第5张图片
5

odbc load,table(customers) dsn("stata_mysql") noq

502 stata 如何读取SQL数据_第6张图片
6

注:dsn = data source name

常用参数
noquote(noq)
noquote(noq)将自动消除表名称带来的字符串引号,对于SQL语句来说,表名是不用也不能加上双引号的,例如:

  • SELECT * FROM table1;在MySQL中是正确语句,可以查询出来,但是
  • SELECT * FROM "table1";是非法语句,查询失败

而在Stata中使用odbc load,table(proc) dsn("stata_mysql")语句加载数据时,stata会自动为table(customers)选项中的表名加上引号,导致最后转化出来的语句非法,为了避免这种情况,只要是使用odbc load,table(tablename) dsn("db_name")语句时,一定要加入noq选项来取消table(proc)中的引号,避免出错(爬虫俱乐部)。

lowercase(low)
lowercase(low)将数据库表变量中的大写字母全部改为小写。

sqlshow(sql)
sqlshow(sql)将展示odbc命令操作对应的SQL语句

502 stata 如何读取SQL数据_第7张图片
7

推荐公众号
爬虫俱乐部

你可能感兴趣的:(502 stata 如何读取SQL数据)