You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言sqldf函数是否支持类似SQL desc的表列查看功能?

R中sqldf函数查看表列信息的正确方式

sqldf默认基于SQLite实现,不支持MySQL风格的DESC或DESCRIBE语句,直接执行这类命令会触发语法错误。

要查看数据框(在sqldf中被当作SQL表)的列信息,需使用SQLite原生的PRAGMA table_info()命令,具体操作示例如下:

完整操作流程

  1. 安装并加载sqldf包,读取目标数据:
install.packages("sqldf")
library(sqldf)

data_file <- "path/to/file/dash-activity.csv"
data <- read.csv(data_file)
  1. 执行常规SQL查询验证sqldf功能正常:
sqldf("
  select 
    state, 
    count(*) as count, 
    round(cast(count(*) as real)/154 * 100, 2) as pct
  from data
  group by 1
  order by 1
")

返回结果:

state count   pct
1     DE    12  7.79
2     FL    18 11.69
3     HI    23 14.94
4     KY     5  3.25
5     MD    31 20.13
6     ME     4  2.60
7     NC     7  4.55
8     ND     4  2.60
9     NM    13  8.44
10    NV     4  2.60
11    RI     5  3.25
12    VA     9  5.84
13    VT    13  8.44
14    WV     6  3.90
  1. 直接使用DESC/DESCRIBE会触发语法错误:
sqldf("desc data")
# Error: near "desc": syntax error

sqldf("describe data")
# Error: near "describe": syntax error
  1. 使用PRAGMA table_info()获取列详情:
sqldf("pragma table_info('data')")

返回结果:

cid                  name    type notnull dflt_value pk
1    0                   sex    TEXT       0         NA  0
2    1                  race    TEXT       0         NA  0
3    2                 grade    TEXT       0         NA  0
4    3           location_id INTEGER       0         NA  0
5    4                 state    TEXT       0         NA  0
6    5         location_desc    TEXT       0         NA  0
7    6        short_question    TEXT       0         NA  0
8    7 greater_risk_question    TEXT       0         NA  0
9    8   pct_were_not_active    REAL       0         NA  0
10   9                 units    TEXT       0         NA  0

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:01:13