Столбцы в SQL не имеют определенного «порядка». Системы баз данных обычно следят за порядком для отображения, но не имеет смысла просить базу данных выбрать столбец по номеру. Вам необходимо знать имя столбца для запроса его содержимого.
То же самое относится и к первичному ключу (который, кстати, может быть не одним столбцом). Вы должны знать, какой это столбец и как называется этот столбец, чтобы выполнить запрос.
Если вы не знаете этих вещей или вам нужно их динамически выяснить, то
DESCRIBE tablename;
скажет вам имена каждого столбца и является ли он частью первичного ключа или нет. Он вернет таблицу, которую вы можете прочитать, как и любой другой результат.