-
Notifications
You must be signed in to change notification settings - Fork 2
/
databaseObject.py
69 lines (52 loc) · 1.62 KB
/
databaseObject.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/python
import MySQLdb
from databaseLogin import *
class Database:
def __init__(self):
self.db = MySQLdb.connect(host=DBhost, # your host, usually localhost
user=DBuser, # your username
passwd=DBpassword, # your password
db=DBdb) # name of the data base
# Get all IDs in table
def getAllIds(self):
cur = self.db.cursor(MySQLdb.cursors.DictCursor)
table = "TestData"
# Query for all IDs
cur.execute("SELECT id FROM " + table)
result_set = cur.fetchall()
self.db.commit()
returnData = []
# Put all ids into array
for row in result_set:
returnData.append(row['id'])
return returnData
def getFields(self, fields, tableType, ids, success):
cur = self.db.cursor(MySQLdb.cursors.DictCursor)
addString = ""
# Should not import any data
if (ids != None and len(ids) <= 0):
addString = " WHERE 1=2 "
# Add all IDs
elif (ids != None ):
addString = " WHERE id IN (" + str(ids[0])
for identifier in ids[1:]:
addString += " , " + str(identifier)
addString += ") "
if (success != None):
addString = " WHERE " + success + " = 1"
# Add each field
fieldList = fields[0]
for field in fields[1:]:
fieldList += ","
fieldList += field
# Check type of data and override to avoid full database
if (tableType == "train"):
table = "TrainData"
# addString += " LIMIT 5200"
else:
table = "TestData"
# Use all the SQL you like
cur.execute("SELECT " + fieldList + " FROM " + table + addString ) #ORDER BY RAND()
result_set = cur.fetchall()
self.db.commit()
return result_set