Потому что нужно читать документацию, там на первой же паре страниц есть примеры кода, в том числе запрос SELECT.
Что ты вообще ожидаешь получить вызовом str(cursor.execute), если ты знаешь, что cursor.execute() - это метод?
И почему ты игнорируешь возвращаемое им значение, когда выполняешь запрос?
Короче, ещё раз - читай доки. Они полезные.
for row in cursor.execute('SELECT bdname FROM user_city'):
print(row)