From 948c8ec5326d5e08fb0562ffdfd32bd211285d5d Mon Sep 17 00:00:00 2001 From: Minh VU Date: Mon, 9 Dec 2024 09:57:25 +0100 Subject: [PATCH 1/2] test postgresql --- main.py | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/main.py b/main.py index 5e82fca..8671baa 100644 --- a/main.py +++ b/main.py @@ -13,10 +13,10 @@ requeteDeleteMonetDB = """DELETE FROM flights WHERE "DAY" > 10;""" requeteInsertMonetDB = """INSERT INTO flights SELECT * FROM flights10;""" #Postgre SQL -requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE airline = 'AA'""" +requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE "AIRLINE" = 'AA'""" requeteSelect2PostgreSQL = """SELECT * FROM public.flights""" -requeteSelect3PostgreSQL = """SELECT * FROM public.flight WHERE "DAY" > 10""" -requeteSelect4PostgreSQL = """SELECT * FROM public.flight WHERE "DAY" > 30""" +requeteSelect3PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 10""" +requeteSelect4PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 30""" requeteCreateTablePostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10""" requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10""" @@ -54,14 +54,33 @@ def runMonetDB(): execMonetDB(requeteSelect3MonetDB) execMonetDB(requeteSelect4MonetDB) +def initPostgreSQL(): + reset_database_postgres() + start_time = time.time() + create_tables_postgres() + end_time = time.time() + print("[PostgreSQL] create table: time = ", (end_time - start_time), "s") + + start_time = time.time() + create_data_postgres() + end_time = time.time() + print("[PostgreSQL] load data : time = ", (end_time - start_time), "s") + +def execPostgreSQL(str): + start_time = time.time() + requete_postgres(str) + end_time = time.time() + print("[PostgreSQL] requete :", str, "\n time = ", (end_time - start_time), "s") def runPostgreSQL(): - reset_database_postgres() - create_tables_postgres() - create_data_postgres() - #requete_postgres(str) + execPostgreSQL(requeteSelect1PostgreSQL) + execPostgreSQL(requeteSelect2PostgreSQL) + execPostgreSQL(requeteSelect3PostgreSQL) + execPostgreSQL(requeteSelect4PostgreSQL) if __name__ == '__main__': - initMonetDB() - runMonetDB() - #runPostgreSQL() + #initMonetDB() + #runMonetDB() + #initPostgreSQL() + runPostgreSQL() + From 0a4b274d8e20654c05e72c3086fc29187ef5e4f0 Mon Sep 17 00:00:00 2001 From: Minh VU Date: Wed, 11 Dec 2024 12:17:00 +0100 Subject: [PATCH 2/2] ok --- main.py | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/main.py b/main.py index 8671baa..527b22d 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,8 @@ from MonetDB import * from PostgreSQL import * import time +data =[] +header=["Nom de requete","Temps"] #Monet DB requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';""" requeteSelect2MonetDB = """SELECT * FROM flights;""" @@ -22,13 +24,26 @@ requeteCreateTablePostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHT requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10""" requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10""" + def display_table(data, headers): - max_len = max(len(header) for header in headers) - print(" | ".join(header.ljust(max_len) for header in headers)) - sep = "-" * max_len - print("-|-".join(sep for _ in headers)) - for row in data: - print(" | ".join(header.ljust(max_len) for header in row)) + # Calculate the maximum length for each column based on headers and data + column_lengths = [len(header) for header in headers] + for row in data: + for idx, cell in enumerate(row): + column_lengths[idx] = max(column_lengths[idx], len(str(cell))) # Convert cell to string + + # Create format string for each row + row_format = " | ".join(["{{:<{}}}".format(length) for length in column_lengths]) + + # Print headers + print(row_format.format(*headers)) + + # Print separator + print("-|-".join(['-' * length for length in column_lengths])) + + # Print each data row + for row in data: + print(row_format.format(*[str(cell) for cell in row])) # Ensure cells are strings def initMonetDB(): reset_data_monetdb() @@ -71,16 +86,19 @@ def execPostgreSQL(str): requete_postgres(str) end_time = time.time() print("[PostgreSQL] requete :", str, "\n time = ", (end_time - start_time), "s") + return end_time - start_time def runPostgreSQL(): - execPostgreSQL(requeteSelect1PostgreSQL) - execPostgreSQL(requeteSelect2PostgreSQL) - execPostgreSQL(requeteSelect3PostgreSQL) - execPostgreSQL(requeteSelect4PostgreSQL) + data.append([requeteSelect1PostgreSQL,execPostgreSQL(requeteSelect1PostgreSQL)]) + data.append([requeteSelect2PostgreSQL,execPostgreSQL(requeteSelect2PostgreSQL)]) + data.append([requeteSelect3PostgreSQL,execPostgreSQL(requeteSelect3PostgreSQL)]) + data.append([requeteSelect4PostgreSQL,execPostgreSQL(requeteSelect4PostgreSQL)]) if __name__ == '__main__': #initMonetDB() #runMonetDB() #initPostgreSQL() - runPostgreSQL() + + runPostgreSQL() + display_table(data, header)