社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

Hello,MySQL——odbcexec\/sqlfile创建表文件

爬虫俱乐部 • 7 年前 • 789 次点击  

爬虫俱乐部之前推出的线下培训,得到了各位老师的一致好评。为了更加方便大家学习,满足更多Stata用户的学习需求,爬虫俱乐部已隆重推出在线直播课程,请大家奔走相告!课程报名链接:https://ke.qq.com/course/286526#tuin=9735fd2d,详情见推文《爬虫俱乐部隆重推出网上直播课程第一季

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

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

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


 在之前的推文中,我们详细的介绍了如何让Stata与MySQL自带数据库mysql中的数据成功的交互。如果我们想通过StataMySQL中新建一个表该怎么操作呢?下面小编将介绍两种方法来创建表文件。在正文开始前,小编需声明接下来的示例中小编使用的MySQL的自带数据库mysql

odbc exec

         第一种方法是使用odbc exec,首先查看其作用和语法如下:

它的作用允许将SQL语句直接发布到ODBC数据源,其中SqlStmt表示的是SQL语句,在这里指的即是MySQL创建一个表的语句。输入下面的命令:

odbc exec(`"CREATE TABLE class(id intNULL,name char(20) NULL);"'),dsn("Stata_Mysql")

它表示创建了一个名为class的表,里面的变量包括id 和name。使用连接名Stata_Mysql用以连接自带数据库mysql。当在Stata中执行完这段命令时,Stata并没有任何返回信息,这是怎么回事呢?实际上此时表class已经mysql数据库中被成功的创建了,不信可以输入:odbc query

可以看到表class的名字赫然列在其中啦~

odbc sqlfile

         第二种方法是使用odbc sqlfile,其作用和语法如下:

odbc exec不同的是,我们不是直接在Stata中敲下MySQL中创建表的语句,而是先将语句保存在一个记事本中,这些由一句句SQL语句构成的文档我们称为sql脚本,“一般来说sql脚本文件的后缀名为.sql,如sample.sql,但这不是必须的要素,只要文档内容是SQL语句,文档后缀名是什么并没有关系,Stata以及MySQL依然会正常读取运行,如我们的例子sample.txt就是这样”,odbc sqlfile即会运行该脚本里的内容。以上篇推文《Hello,MySQL——odbc insert导入stata数据》的sample.txt为例,我们先来查看一下其具体内容:

可以看到,在sample.txt这个脚本中,就有着创建一个sample表的语句,那么只要加载这个脚本,就可以在数据库中创建表啦。

我们在Stata中输入命令:

clear

odbc sqlfile(`"e:/mysql/sample.txt"'),dsn("Stata_Mysql")

odbc query //查看数据库中有哪些表

然而我们会看到Stata返回如下的报错信息:

可以看到Stata告诉我们名为sample的表已经存在了,这是因为小编在学习之前的推文时,已经在mysql数据库中导入了一个名为sample的表,如果有读者也曾对着之前的推文进行了操作的话也会遇到这个错误。要注意,MySQL中的表名是不能重复的!

下面只需要在sample.txt中修改表名后,再运行上述程序即可:

这样一来,表sample1也在mysql中成功的被创建啦~


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

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

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


                                   

             文字编辑:赵宇亮

  技术总编:刘贝贝

往期推文推荐:

1.爬虫俱乐部新版块--和我们一起学习Python

2.hello,MySQL--Stata连接MySQL数据库

3.hello,MySQL--odbcload读取MySQL数据

4.再爬俱乐部网站,推文目录大放送!

5.用Stata生成二维码—我的心思你来扫

6.Hello,MySQL-odbc exec查询与更新

7.Python第一天

8.Python第二天

9.事件研究大放送




关于我们

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

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

投稿邮箱:statatraining@163.com

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


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