Hi, I've created a program in python and mySQL which creates a database and imports the data from text files and puts them into 4 different columns. The code works but I want to change the code and create functions.
Can anyone please help me create a function that creates a mySQL database? Here is the code I have at the moment. Thanks in advance!
import MySQLdb
# Create connection to the MySQL database - Make sure host, user,
# passwd are consistent with the database you are trying to conect to
def create_database():
db_connection = MySQLdb.connect(host='localhost', user='root', passwd='password')
# Variable that exacutes Database calls with MySQL
cursor = db_connection.cursor()
# Create databse with MYSQL query - databasename
cursor.execute('CREATE DATABASE inb104')
# Select which database to use with MYSQL query - databasename
cursor.execute('USE inb104')
# Create database with MYSQL query - tablename & fields
cursor.execute('''CREATE TABLE popularity (
PersonNumber INT,
Value VARCHAR(70),
Category VARCHAR(25),
PRIMARY KEY (PersonNumber, Value, Category)
)
''')
cursor.execute("LOAD DATA LOCAL INFILE 'tv.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='TV'")
cursor.execute("LOAD DATA LOCAL INFILE 'actors.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Actors'")
cursor.execute("LOAD DATA LOCAL INFILE 'movies.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Movies'")
cursor.execute("LOAD DATA LOCAL INFILE 'sports.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Sports'")
cursor.execute("LOAD DATA LOCAL INFILE 'activities.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Activities'")
cursor.execute("LOAD DATA LOCAL INFILE 'musicians.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Musicians'")
cursor.execute("LOAD DATA LOCAL INFILE 'games.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Games'")
cursor.execute("LOAD DATA LOCAL INFILE 'books.txt' INTO TABLE popularity FIELDS TERMINATED BY '\\t' LINES TERMINATED BY '\\n' (PersonNumber, Value, Category) SET Category='Books'")
# commit the changes to the database
db_connection.commit()
# close the cursor and connection
cursor.close()
db_connection.close()