PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

डेटाबेस में dplyr के साथ तालिका लिखें

जबकि मैं पूरे दिल से SQL सीखने के सुझाव से सहमत हूँ, आप इस तथ्य का लाभ उठा सकते हैं कि dplyr डेटा को तब तक नहीं खींचता जब तक कि उसे dplyr . का उपयोग करके पूरी तरह से क्वेरी बनाना और बनाना न पड़े , TO TABLE खंड, और फिर dplyr::do() . का उपयोग करके SQL कथन चलाएँ , जैसा कि:

# CREATE A DATABASE WITH A 'FLIGHTS' TABLE
library(RSQLite)
library(dplyr)
library(nycflights13)
my_db <- src_sqlite("~/my_db.sqlite3", create = T)
flights_sqlite <- copy_to(my_db, flights, temporary = FALSE, indexes = list(
  c("year", "month", "day"), "carrier", "tailnum"))

# BUILD A QUERY
QUERY = filter(flights_sqlite, year == 2013, month == 1, day == 1) %>%
    select( year, month, day, carrier, dep_delay, air_time, distance) %>%
    mutate( speed = distance / air_time * 60) %>%
    arrange( year, month, day, carrier)

# ADD THE "TO TABLE" CLAUSE AND EXECUTE THE QUERY 
do(paste(unclass(QUERY$query$sql), "TO TABLE foo"))

आप एक छोटा सा फंक्टोइन भी लिख सकते हैं जो ऐसा करता है:

to_table  <- function(qry,tbl)
    dplyr::do(paste(unclass(qry$query$sql), "TO TABLE",tbl))

और क्वेरी को उस फ़ंक्शन में इस प्रकार पाइप करें:

filter(flights_sqlite, year == 2013, month == 1, day == 1) %>%
    select( year, month, day, carrier, dep_delay, air_time, distance) %>%
    mutate( speed = distance / air_time * 60) %>%
    arrange( year, month, day, carrier) %>%
    to_table('foo')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं postgresql 8.3.7 . में विभाजित तालिका पर एक अनुक्रमणिका का उपयोग कैसे कर सकता हूं

  2. postgresql में mmm yyyy प्रारूप में दिनांक

  3. PostgreSQL उम्र () फ़ंक्शन:अलग-अलग/अप्रत्याशित परिणाम जब अलग-अलग महीने में उतरते हैं

  4. पोस्टग्रेज कनेक्शन पूलिंग - एकाधिक उपयोगकर्ता

  5. Psql सभी तालिकाओं को सूचीबद्ध करें