sql >> Database teknologi >  >> RDS >> Mysql

Opsæt stor database i MySQL til analyse i R

Dokumentationen for RMySQL er ret god - men den forudsætter, at du kender det grundlæggende i SQL. Disse er:

  • oprettelse af en database
  • oprettelse af en tabel
  • få data ind i tabellen
  • få data ud af tabellen

Trin 1 er let:I MySQL-konsollen skal du blot "opret database DBNAME". Eller fra kommandolinjen, brug mysqladmin , eller der er ofte MySQL admin GUI'er.

Trin 2 er lidt sværere, da du skal angive tabelfelterne og deres type. Dette vil afhænge af indholdet af din CSV-fil (eller anden afgrænset) fil. Et simpelt eksempel ville se sådan ud:

use DBNAME;
create table mydata(
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  height FLOAT(3,2)
); 

Hvilket siger opret en tabel med 2 felter:id , som vil være den primære nøgle (skal derfor være unik) og vil automatisk øges efterhånden som nye poster tilføjes; og højde , som her er angivet som en float (en numerisk type), med 3 cifre i alt og 2 efter decimaltegnet (f.eks. 100,27). Det er vigtigt, at du forstår datatyper .

Trin 3 - der er forskellige måder at importere data til en tabel på. En af de nemmeste er at bruge mysqlimport nytte. I eksemplet ovenfor, forudsat at dine data er i en fil med samme navn som tabellen (mydata), den første kolonne et tabulatortegn og den anden højdevariablen (uden overskriftsrække), ville dette fungere:

mysqlimport -u DBUSERNAME -pDBPASSWORD DBNAME mydata

Trin 4 - kræver, at du ved, hvordan du kører MySQL-forespørgsler. Igen et simpelt eksempel:

select * from mydata where height > 50;

Betyder "hent alle rækker (id + højde) fra tabellen mydata, hvor højden er mere end 50".

Når du har mestret disse grundlæggende funktioner, kan du flytte til mere komplekse eksempler, såsom at oprette 2 eller flere tabeller og køre forespørgsler, der forbinder data fra hver.

Så - du kan slå til RMySQL-manualen. I RMySQL opsætter du databaseforbindelsen og bruger derefter SQL-forespørgselssyntaks til at returnere rækker fra tabellen som en dataramme. Så det er virkelig vigtigt, at du får SQL-delen - RMySQL-delen er nem.

Der er masser af MySQL- og SQL-tutorials på nettet, inklusive de "officielle" tutorial på MySQL-hjemmesiden. Bare Google søg "mysql tutorial".

Personligt anser jeg slet ikke 80 Mb for at være et stort datasæt; Jeg er overrasket over, at dette forårsager et RAM-problem, og jeg er sikker på, at native R-funktioner kan håndtere det ret nemt. Men det er godt at lære nye færdigheder såsom SQL, selvom du ikke har brug for dem til dette problem.



  1. Brug af regex i WHERE i Postgres

  2. Android til Wamp-serverforbindelse ved hjælp af Android Studio og PHP

  3. SQL ALTER TABLE Syntaks – Listet efter DBMS

  4. Bitwise flag forladt?