MySQL table names are case sensitive, so that's why #1 and #3 fail. If you're going to use quotes then you need to use the correct ones for MySQL, which is why #2 fails. I'm not sure why this:
ActiveRecord::Base.connection.execute("TRUNCATE TABLE program_slots")
wouldn't work. If it doesn't, you can use this:
ActiveRecord::Base.connection.execute("TRUNCATE TABLE `program_slots`")
Note the angled single quotes.