update,
This commit is contained in:
112
tunmnlu/task_1/Q2-src/hello_sql.py
Normal file
112
tunmnlu/task_1/Q2-src/hello_sql.py
Normal file
@@ -0,0 +1,112 @@
|
||||
########################### DO NOT MODIFY THIS SECTION ##########################
|
||||
#################################################################################
|
||||
import sqlite3
|
||||
from sqlite3 import Error
|
||||
import csv
|
||||
#################################################################################
|
||||
|
||||
## Change to False to disable Sample
|
||||
SHOW = True
|
||||
|
||||
############### SAMPLE CLASS AND SQL QUERY ###########################
|
||||
######################################################################
|
||||
class Sample():
|
||||
def sample(self):
|
||||
try:
|
||||
connection = sqlite3.connect("sample")
|
||||
connection.text_factory = str
|
||||
except Error as e:
|
||||
print("Error occurred: " + str(e))
|
||||
print('\033[32m' + "Sample: " + '\033[m')
|
||||
|
||||
# Sample Drop table
|
||||
connection.execute("DROP TABLE IF EXISTS sample;")
|
||||
# Sample Create
|
||||
connection.execute("CREATE TABLE sample(id integer, name text);")
|
||||
# Sample Insert
|
||||
connection.execute("INSERT INTO sample VALUES (?,?)",("1","test_name"))
|
||||
connection.commit()
|
||||
# Sample Select
|
||||
cursor = connection.execute("SELECT * FROM sample;")
|
||||
print(cursor.fetchall())
|
||||
|
||||
######################################################################
|
||||
|
||||
class HW2_sql():
|
||||
############### DO NOT MODIFY THIS SECTION ###########################
|
||||
######################################################################
|
||||
def create_connection(self, path):
|
||||
connection = None
|
||||
try:
|
||||
connection = sqlite3.connect(path)
|
||||
connection.text_factory = str
|
||||
except Error as e:
|
||||
print("Error occurred: " + str(e))
|
||||
|
||||
return connection
|
||||
|
||||
def execute_query(self, connection, query):
|
||||
cursor = connection.cursor()
|
||||
try:
|
||||
if query == "":
|
||||
return "Query Blank"
|
||||
else:
|
||||
cursor.execute(query)
|
||||
connection.commit()
|
||||
return "Query executed successfully"
|
||||
except Error as e:
|
||||
return "Error occurred: " + str(e)
|
||||
######################################################################
|
||||
######################################################################
|
||||
|
||||
# GTusername [0 points]
|
||||
def GTusername(self):
|
||||
gt_username = "tlou31"
|
||||
return gt_username
|
||||
|
||||
# Part a.i Create Tables [2 points]
|
||||
def part_ai_1(self,connection):
|
||||
############### EDIT SQL STATEMENT ###################################
|
||||
part_ai_1_sql = """
|
||||
CREATE TABLE IF NOT EXISTS movies (
|
||||
id INTEGER ,
|
||||
title TEXT,
|
||||
score REAL);
|
||||
"""
|
||||
|
||||
######################################################################
|
||||
|
||||
return self.execute_query(connection, part_ai_1_sql)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
||||
########################### DO NOT MODIFY THIS SECTION ##########################
|
||||
#################################################################################
|
||||
if SHOW == True:
|
||||
sample = Sample()
|
||||
sample.sample()
|
||||
|
||||
print('\033[32m' + "Q2 Output: " + '\033[m')
|
||||
db = HW2_sql()
|
||||
conn = db.create_connection("Q2")
|
||||
|
||||
try:
|
||||
conn.execute("DROP TABLE IF EXISTS movies;")
|
||||
conn.execute("DROP TABLE IF EXISTS movie_cast;")
|
||||
conn.execute("DROP TABLE IF EXISTS cast_bio;")
|
||||
conn.execute("DROP VIEW IF EXISTS good_collaboration;")
|
||||
conn.execute("DROP TABLE IF EXISTS movie_overview;")
|
||||
except:
|
||||
print("Error in Table Drops")
|
||||
|
||||
try:
|
||||
print('\033[32m' + "part ai 1: " + '\033[m' + str(db.part_ai_1(conn)))
|
||||
# print('\033[32m' + "part ai 2: " + '\033[m' + str(db.part_ai_2(conn)))
|
||||
except:
|
||||
print("Error in Part a.i")
|
||||
|
||||
conn.commit()
|
||||
|
||||
print('helloworld')
|
Reference in New Issue
Block a user