From f221ed67db51610dfbfa70f09619b5cc923c8ed6 Mon Sep 17 00:00:00 2001 From: Minh VU Date: Tue, 3 Dec 2024 19:34:27 +0100 Subject: [PATCH] update all commands and havent tested --- MonetDB.py | 81 ++++++++++++++++++++----- PostgreSQL.py | 11 ++++ __pycache__/MonetDB.cpython-312.pyc | Bin 337 -> 3249 bytes __pycache__/PostgreSQL.cpython-312.pyc | Bin 4752 -> 4873 bytes main.py | 11 ++-- 5 files changed, 83 insertions(+), 20 deletions(-) diff --git a/MonetDB.py b/MonetDB.py index c835912..c2a773e 100644 --- a/MonetDB.py +++ b/MonetDB.py @@ -1,19 +1,62 @@ import pymonetdb import time +import re #Creation_table -createAirline = """CREATE TABLE airlines("IATA_CODE" VARCHAR(2) NOT NULL PRIMARY KEY UNIQUE, "AIRLINE" VARCHAR(99) NOT NULL);""" -createAirports = """CREATE TABLE airports("IATA_CODE" VARCHAR(3) NOT NULL PRIMARY KEY UNIQUE, "AIRPORT" VARCHAR(100), "CITY" VARCHAR(40), "STATE" VARCHAR(2), "COUNTRY" VARCHAR(40), "LATITUDE" REAL, "LONGITUDE" REAL);""" -createFlights = """CREATE TABLE flights("YEAR" INT, "MONTH" INT, "DAY" INT, "DAY_OF_WEEK" INT, "AIRLINE" VARCHAR(2), "FLIGHT_NUMBER" INT, -"TAIL_NUMBER" VARCHAR(6), "ORIGIN_AIRPORT" VARCHAR(5), "DESTINATION_AIRPORT" VARCHAR(5), "SCHEDULED_DEPARTURE" INT, "DEPARTURE_TIME" INT, -"DEPARTURE_DELAY" INT, "TAXI_OUT" INT, "WHEELS_OFF" INT, "SCHEDULED_TIME" INT, "ELAPSED_TIME" INT, "AIR_TIME" INT, "DISTANCE" INT, -"WHEELS_ON" INT, "TAXI_IN" INT, "SCHEDULED_ARRIVAL" INT, "ARRIVAL_TIME" INT, "ARRIVAL_DELAY" INT, "DIVERTED" INT, "CANCELLED" INT, -"CANCELLATION_REASON" VARCHAR(1), "AIR_SYSTEM_DELAY" INT, "SECURITY_DELAY" INT, "AIRLINE_DELAY" INT, "LATE_AIRCRAFT_DELAY" INT, "WEATHER_DELAY" INT);""" +createAirline = """CREATE TABLE airlines + ( + "IATA_CODE" VARCHAR(2) NOT NULL PRIMARY KEY UNIQUE, + "AIRLINE" VARCHAR(99) NOT NULL + );""" +createAirports = """CREATE TABLE airports + ( + "IATA_CODE" VARCHAR(3) NOT NULL PRIMARY KEY UNIQUE, + "AIRPORT" VARCHAR(100), + "CITY" VARCHAR(40), + "STATE" VARCHAR(2), + "COUNTRY" VARCHAR(40), + "LATITUDE" REAL, + "LONGITUDE" REAL + );""" +createFlights = """CREATE TABLE flights + ( + "YEAR" INT, + "MONTH" INT, + "DAY" INT, + "DAY_OF_WEEK" INT, + "AIRLINE" VARCHAR(2), + "FLIGHT_NUMBER" INT, + "TAIL_NUMBER" VARCHAR(6), + "ORIGIN_AIRPORT" VARCHAR(5), + "DESTINATION_AIRPORT" VARCHAR(5), + "SCHEDULED_DEPARTURE" INT, + "DEPARTURE_TIME" INT, + "DEPARTURE_DELAY" INT, + "TAXI_OUT" INT, + "WHEELS_OFF" INT, + "SCHEDULED_TIME" INT, + "ELAPSED_TIME" INT, + "AIR_TIME" INT, + "DISTANCE" INT, + "WHEELS_ON" INT, + "TAXI_IN" INT, + "SCHEDULED_ARRIVAL" INT, + "ARRIVAL_TIME" INT, + "ARRIVAL_DELAY" INT, + "DIVERTED" INT, + "CANCELLED" INT, + "CANCELLATION_REASON" VARCHAR(1), + "AIR_SYSTEM_DELAY" INT, + "SECURITY_DELAY" INT, + "AIRLINE_DELAY" INT, + "LATE_AIRCRAFT_DELAY" INT, + "WEATHER_DELAY" INT + );""" #Inserer_data -peuplementAirlines = """COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';""" -peuplementAirports = """COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';""" -peuplementFlights = """COPY INTO flights FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\flights.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';""" +peuplementAirlines = r"COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';" +peuplementAirports = r"COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';" +peuplementFlights = r"COPY INTO flights FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\flights.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';" def connect_monetdb(): @@ -22,18 +65,26 @@ def connect_monetdb(): cursor = connection.cursor() return connection, cursor -def create_table_monetdb(cursor): +def create_table_monetdb(connection,cursor): cursor.execute(createAirline) cursor.execute(createAirports) cursor.execute(createFlights) + connection.commit() -def create_data_monetdb(cursor): - cursor.execute(peuplementAirlines) - cursor.execute(peuplementFlights) +def create_data_monetdb(connection,cursor): + cursor.execute(r"COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';") + cursor.execute(r"COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';") cursor.execute(peuplementAirports) + connection.commit() -def requete_monetdb(cursor,str): +def requete_monetdb(connection,cursor,str): cursor.execute(str) + connection.commit() + +def reset_data_monetdb(connection,cursor): + cursor.execute("DROP TABLE IF EXISTS airlines") + cursor.execute("DROP TABLE IF EXISTS airports") + cursor.execute("DROP TABLE IF EXISTS flights") def disconnect_monetdb(connection,cursor): cursor.close() diff --git a/PostgreSQL.py b/PostgreSQL.py index eba39cf..d107659 100644 --- a/PostgreSQL.py +++ b/PostgreSQL.py @@ -103,5 +103,16 @@ def requete_postgres(str): print("Cette requĂȘte prends:", temps, "seconde") cursor.close() conn.close() + except (psycopg2.DatabaseError, Exception) as error: + print(error) + +def reset_database_postgres(): + try: + with connect_postgres() as conn: + with conn.cursor() as cursor: + cursor.execute('DROP TABLE IF EXISTS flights,airlines,airports') + conn.commit() + cursor.close() + conn.close() except (psycopg2.DatabaseError, Exception) as error: print(error) \ No newline at end of file diff --git a/__pycache__/MonetDB.cpython-312.pyc b/__pycache__/MonetDB.cpython-312.pyc index 3abd97d1d853a8cad6401df76a3c6274d48ba247..c054bb85a52ab12681b46b8264e0fa16f2e874be 100644 GIT binary patch literal 3249 zcmbtW+i%lW7(aI0J1L~}!r17%ND!hSM9Y}Ox}mwT(|R~|=Qu#3NR}HLNSDOn*kLOw zQjw4*O?yDoBwqHkry=%7>|t-bv|16!>|xTL_Eyn7@wD&wl1ndR8bFy^WI?&X!R$}6h(0=;?5Hq#h)iTsHB<^lszmu~xjLDSx%)U~; z*%tIjKt5iDv7jYopS;?pZrwOda%}WAnRB^4^ zu$ia1&XM%oonLqRYTDS{-`Dxh!2^9QDXP|qZsy#%G{le*wPFYSz{m0$WY_^`eLbZh zYw8|ViPJ=_K(Yo}B(Ntb@nl2Y|^FrII#)(oJit6$q$wyJe1yR<)Rxd3V$R;o3 zHBpAtl!G+#nMHvwNCL0(!V;%y1r;a=BaQ%F6Lb5ZydZVb)3|G*t`wjy!Qrcmf*|D~ z<7|XHdgvV=1i}N7X(eH`l z&l1VaMDi!`m!S~U2XSpu zU3~0Y4U>MI#=iCX*IPrlO~+(RS^<+9rek;t25+oswVE}nZZ%wB*{2o1O_cVKcr+xD z+?zIs?}94f(cwU}Iow8Q{2Ki?LVZO#q>n%qA2K6o>*&cX=G1d$H>D)T=xeuc7LbD| zUF#+ct#qFc?R2*oCN)pfe)@i@Kt%!||89FR$Hfk@z_M)6JcqG$t7W;JzDdF^`8mfy zv~zxNev6sfn@sy=fi9U7(>pwfgOcfl3h&@PceS&>ih@)qudh6Z$ZT%dRydhhhDqXOKSNEwJj77PLP1l< Lb_QuGxWfMcXIA-5 delta 237 zcmdled6CKKG%qg~0}#yp#%+1eBElEkb#Zr=)n|g~q zIX^EiHM!nG5ipSP0XGf2xXjmfXsRp`l3My}L*yQG?l;)(`6$t|68G*Q1 x6-azwW@Kc%%^+}_f%^fkTu0<}Ub&0Baw|A@cwPvIzL1u4g*Ug6tB4<{5&*pYK8yeW diff --git a/__pycache__/PostgreSQL.cpython-312.pyc b/__pycache__/PostgreSQL.cpython-312.pyc index 7e9abe4c60f3d0c8189c87b57ab72747b3c49033..d87f0c0da62e06f360e3c46d33ba01741c576a96 100644 GIT binary patch delta 917 zcmZ8gzi-n(6s~c8CvFn8X%&zldMb#D6qF6dt9?mMICgYCCuBOMjj50*2~Ln0yRsmV z#l*;r81iQzHWoJc1CYAH#7pcXrj~5o``&xs_kNt;-F|aN`>JWVEqoqj?Xw^6wLgj; zq?Mcd=M8x>8p+e~`DEx1pH0Uv{I%9iNrd< zeu~gES*tCi<#vu~$fSWF%v>XHlhqQ~oVA!GvH7sEU&(3(4C)AGVd3^wkE6G#;hNNt z2JI3qT#j91IVH@AY$;eL1j{kdpk`Eg4y$;=r0wDuF|z>uHl?P6y)+}LjmVm68!*4? zpza#VEjAW64Tf8=^iVs$rnRE!ELB-(?Z8HZaL#(fTt;m}WNmnhYbf4=!FrSnYAmzz zpf7Yy9Lv&HASh>c>QL(uuD1!l+c>^iD*;4!hUAHRQ67NZ#eVhY{{AG1e^%5LNu4QIp1 z;Z5h?wTJ3K$@gBq@-Quo_on_K{$~>3>1X_0Y+YW<2bWr9-Yg$0nSxUBw-Npal6&u* delta 846 zcmZ8gF>ljA6ppb?s)|&Qsw^M^g$f2>0HnkB9G|${Mdx!uCM&cSOP7XpVPa(~ z@(+nnHvR(QmoUJa_IpeHDH9^cAhFhsBn4 zxO`=;ENfmow~suE70yCIpb*Z%7N(L>4#lP2wY=h+eS9VU%P!+XAyt8#J5ET|q&RnO zyNSYTogRvmD_Nqi8CF!K1iBJ1JL+_=JWTL@6RShL+M1@tPv@~S0W1s4z2y!BSFy2d zf+uF()@vrBYz*+$_%(4o1d15#$13CL;0=`dPZg%D^1CA}!x+o^&wAHM2}%2uXIg=B z!r$(}9)UzruICWf@g$6aqzp(#V2GtkB^VMx?PZD%N@%Bn2(UHxw!-gdCQ@Z`I^!6C zC3=>qEYXzSl<;-lFwwm>KwDF69747HJS@9;n_|4wr0hdWd$*~JrKBUw%nrY@>uP8N zG-L@KfmA@uelIkgm>%4CFDq}Yk3Qu@@LJs`|EX&@CzC|MKx ui(GFy%TMMPvwYUme@CX@j|=_z-1>6^x%+=_wt~auVpm%2z}lY$I`R(&wAeBL diff --git a/main.py b/main.py index 7e5c5eb..666bf1b 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,6 @@ from MonetDB import * from PostgreSQL import * +import re #Monet DB requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';""" @@ -26,11 +27,11 @@ if __name__ == '__main__': #PostgreSQL #create_tables_postgres() #create_data_postgres() - requete_postgres(str) + #requete_postgres(str) #MonetDB conn, cursor =connect_monetdb() - create_table_monetdb(cursor) - create_data_monetdb(cursor) - requete_monetdb(cursor, str) - disconnect_monetdb(conn, cursor) + create_table_monetdb(conn,cursor) + #create_data_monetdb(conn,cursor) + #requete_monetdb(conn,cursor, str) + #disconnect_monetdb(conn, cursor)