• R和python连接SQL sever 数据库操作


    在R的使用中,为了方便提取数据,
    我们经常要进行数据库进行操作,接下来我们尝试使用R进行连接数据。

    这里我们使用R中的RODBC进行操作,

    首先,我们需要先配置ODBC资源管理器

    通过任务管理器或者win+R运行odbcad32.exe,进入odbc数据源管理器

    点击添加,选择native client 10.0

    设置连接名称和数据库地址

    设置登入账号和密码

    接下来,按照步骤依次进行就可以了。
    设置完后,我们会在用户DSN界面看到我们刚才设置的连接

    到这里第一步算是完成

    接下来,我们需要进入R安装RODBC包并载入

    install.packages("RODBC")
    library(RODBC) 
    connect=odbcConnect('rconnect',uid='xxx',pwd='xxx') #连接前面创建的数据库,本机的话uid和pwd可以忽略
    
    data(USArrests) #把R自带的数据USArrests 写入数据库中
    sqlSave(connect,USArrests,rownames = "state",addPK = TRUE)  #把行名称改为state,并保存,此时进入数据库可看到表格
    

    以上这个过程我们可以包R中的数据保存到数据中。

    我们也可以从数据库中,选取表格进行查询

    sqlTables(connect) #查看数据库中的表
    sqlFetch(connect,"USArrests",rownames = "state") #输出USArrests表中的内容
    sqlQuery(connect,"select * from USArrests")  #使用sql进行查询
    

    到这里,基本上R和SQL server的连接操作就差不多了。
    最后,看下如何删除表格以及关闭连接

    sqlDrop(channel,"USArrests") #删除表格
    odbcClose(channel)  #关闭连接
    

    到此为止,基本上完成了R的连接数据库操作。

    python连接数据库操作比R稍微简单些
    通过添加pymssql模块进行数据连接操作

    安装pymssql模块

    进入cmd命令窗口,使用pip可以直接进行模块安装
    输入安装命令 pip install pymssql

    安装完成后就可以进入python界面进行操作了

    import pymssql
    connect=pymssql.connect(host='数据库登入名称',user='sa',password='pwd',database='要访问的数据库') #跟上面R类似进行python和数据库的连接。
    

    如果和本机数据库交互,只需修改链接字符串

    conn=pymssql.connect(host='.',database='Michael')
    

    接下来进行查询操作

    cur=conn.cursor() #创建连接游标
    cur.execute('select  * from xx')  #执行查询操作
    print (cur.fetchall()) #读取游标内容,并打印
    cur.close() #查询之后关闭游标
    

    到这里基本操作就已经完成了。

    conn.close() #关闭连接
  • 相关阅读:
    解决"waitForCondition(LockCondition) timed out (identity=23, status=0). CPU may be pegged. trying again."问题
    解决:“MediaPlayer error (1, -2147483648)”问题
    EasyUI 验证
    ANT简明教程[转载]
    [转]Android开源框架ImageLoader的完美例子
    [转]Android精品开源项目整理
    【转】25个非常实用的jQuery/CSS3应用组件
    [转]8款实用的jQuery/CSS3最新插件应用
    解决IE6下浮层遮盖select刺穿的问题
    jQuery AJAX中文乱码处理
  • 原文地址:https://www.cnblogs.com/wkslearner/p/5953757.html
Copyright © 2020-2023  润新知