Найти - Пользователи
Полная версия: MySQLdb: получить список колонок
Начало » Базы данных » MySQLdb: получить список колонок
1 2
axe
знаю, что список колонок для заданной таблицы можно получить с помощью обращения к INFORMATION_SCHEMA
SELECT * FROM INFORMATION_SCHEMA.COLUMNS  WHERE TABLE_NAME = 'table_name'
как-то проще это можно сделать?
Viper
Если тебе нужны названия колонок после выполнения селекта, то у курсора есть атрибут description с описанием полей.
PyBird
Получить информацию о конкретной таблице можно с помощью команды
describe имя_таблицы
axe
Viper
у курсора есть атрибут description с описанием полей
да, именно то, что нужно!
спасибо!

PyBird, попробую. тоже спасибо!
ronin
Комрады хелп ми. Как получить содержимое всех полей?
Вот код :

#!/usr/bin/python

import MySQLdb

print “Content-Type: text/html”
print
print “<html><head><title>777</title></head>”
print “<body>”
print “<h1>7777</h1>”
print “<ul>”

connection = MySQLdb.connect(user='root', passwd='*****', db='problem', host=“host”)
cursor = connection.cursor()
cursor.execute(“SELECT * FROM problem ORDER BY id DESC LIMIT 5”)
resultset = cursor.fetchall()
for row in resultset:
print “<li>%s </li>” % row

print “</ul>”
print “</body></html>”

connection.close()
———————————-
Вот сама БД:

SET FOREIGN_KEY_CHECKS=0;
– —————————-
– Table structure for problem
– —————————-
CREATE TABLE `problem` (
`id` int(11) NOT NULL auto_increment,
`ulica` text NOT NULL,
`telefon` text NOT NULL,
`ethernet` text NOT NULL,
`soobshenie` text NOT NULL,
`ispolnenie` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=82 DEFAULT CHARSET=cp1251;

– —————————-
– Records
– —————————-
INSERT INTO `problem` VALUES ('1', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('2', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('3', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('4', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('5', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('6', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('7', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('8', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('9', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('10', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('11', ‘tttttttt’, ‘677888’, ‘modem’, ‘net sety’, ‘net’);
INSERT INTO `problem` VALUES ('12', ‘yyyyyy’, ‘777777’, ‘lan’, ‘net sety’, ‘net’);
slivlen
for row in resultset:
for c in row:
print "<li>%s </li>" % c
ronin
Прописал и нехера:
resultset = cursor.fetchall()
for row in resultset:
for c in row:
print “<li>%s </li>” % c
print “</ul>”
slivlen
ronin
Прописал и нехера:
А что значит нехера? Это эксепшен такой? =)
pythonwin
ronin, соблюдай, пожалуйста, правила форума:
На форуме запрещается:
-использовать нецензурные выражения в заголовке и теле послания;
ronin
pythonwin
Извените, больше этого не повториться. Тот вариант кода, что мне предложили не выводит данные всех полей.
Код изменен, но смысл тот же. За чем было два раза цикл пихать?

for row in resultset:
for c in row:
print “<li>%s </li>” %c

и

for row in resultset:
print “<li>%s </li>” % row

Те же яйца, только в профиль ))))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB