У меня есть файл .sql, который я пытаюсь прочитать в базе данных SQL с помощью пакета R RSQLite. Чтобы ознакомиться, я сначала посмотрел на mtcars набора данных R:
mydb <- dbConnect(RSQLite::SQLite(), "")
dbWriteTable(mydb, "mtcars", mtcars)
str(mydb)
Структура следующая:
Formal class 'SQLiteConnection' [package "RSQLite"] with 5 slots
..@ Id :<externalptr>
..@ dbname : chr ""
..@ loadable.extensions: logi TRUE
..@ flags : int 6
..@ vfs : chr ""
Далее я просто читаю пять строк из базы данных:
dbGetQuery (mydb, 'ВЫБРАТЬ * ИЗ ПРЕДЕЛ 5 mtcars')
row_names mpg cyl disp hp drat wt qsec vs am gear carb
1 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
4 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
5 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Теперь я вижу имена столбцов, и, возможно, меня интересует только hp> 200, поэтому я и делаю:
dbGetQuery(mydb, 'SELECT * FROM mtcars WHERE hp > 200')
row_names mpg cyl disp hp drat wt qsec vs am gear carb
1 Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4
2 Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4
3 Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
4 Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4
5 Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4
6 Ford Pantera L 15.8 8 351 264 4.22 3.170 14.50 0 1 5 4
7 Maserati Bora 15.0 8 301 335 3.54 3.570 14.60 0 1 5 8
Теперь я на самом деле пытаюсь просмотреть интересующие меня данные (больше не mtcars), называемые myData.sql. Мне сказали, что этот файл является общим SQL, и что я могу загрузить любую базу данных, которую я предпочитаю, и что он получен из PostgreSQL.
Итак, я пробую это, которое выводит ту же структуру, что и раньше:
mydb <- dbConnect(RSQLite::SQLite(), "myData.sql")
str(mydb)
Formal class 'SQLiteConnection' [package "RSQLite"] with 5 slots
..@ Id :<externalptr>
..@ dbname : chr "myData.sql"
..@ loadable.extensions: logi TRUE
..@ flags : int 6
..@ vfs : chr ""
Теперь я хотел бы посмотреть, что хранится в myData.sql, надеясь увидеть таблицу данных со столбцами (например, для mtcars). Однако при попытке я получаю ошибки:
dbGetQuery(mydb, 'SELECT * LIMIT 5')
Error in sqliteSendQuery(con, statement, bind.data) :
error in statement: no tables specified
а также
dbGetQuery(mydb, 'SELECT * FROM mydb LIMIT 5')
Error in sqliteSendQuery(con, statement, bind.data) :
error in statement: no such table: mydb
Я очень не уверен, как начать изучать информацию в myData.sql. Любые советы высоко ценится!