The line "values TEXT NOT NULL,".
It's actually not being treated as a column name.
Try this...
query = 'CREATE TABLE `profiles` (
`profileID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`day_of_birth` INT NOT NULL,
`month_of_birth` INT NOT NULL,
`year_of_birth` INT NOT NULL,
`gender` VARCHAR (6) NOT NULL,
`education` VARCHAR (16) NOT NULL,
`country` VARCHAR (16) NOT NULL,
`state` TEXT NOT NULL,
`name` TEXT NOT NULL,
`things` TEXT NOT NULL,
`books` TEXT NOT NULL,
`songs` TEXT NOT NULL,
`movies` TEXT NOT NULL,
`people` TEXT NOT NULL,
`beliefs` TEXT NOT NULL,
`values` TEXT NOT NULL,
`live` TEXT NOT NULL,
`sad` TEXT NOT NULL,
`change` TEXT NOT NULL,
`date_entered` DATETIME NOT NULL,
PRIMARY KEY (`profileID`)
)';