本文主要介绍用Stata读取SQL数据的常用命令
odbc list
查看当前有哪些可用的odbc驱动实例
odbc list produces a list of ODBC data source names to which Stata can connect
odbc query
odbc query stata_mysql
查看在实例stata_mysql中有哪些表
odbc query show a list of table names available from a specified data source
关于表:表是关系型数据库的基本存储结构,一个MySQL数据库中可以包含多张表。
odbc describe
odbc describe customers
查看stata_mysql中的表customers的基本情况,如这个数据集有多少个变量,变量类型是什么。
odbc describe lists column names and types for each table available
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")
odbc load,table(customers) dsn("stata_mysql") noq
注: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语句
推荐公众号
爬虫俱乐部