axe
Окт. 7, 2008 10:35:34
знаю, что список колонок для заданной таблицы можно получить с помощью обращения к INFORMATION_SCHEMA
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name'
как-то проще это можно сделать?
Viper
Окт. 7, 2008 11:10:30
Если тебе нужны названия колонок после выполнения селекта, то у курсора есть атрибут description с описанием полей.
PyBird
Окт. 7, 2008 11:13:13
Получить информацию о конкретной таблице можно с помощью команды
axe
Окт. 7, 2008 11:14:48
Viper
у курсора есть атрибут description с описанием полей
да, именно то, что нужно!
спасибо!
PyBird, попробую. тоже спасибо!
ronin
Окт. 9, 2008 17:22:51
Комрады хелп ми. Как получить содержимое всех полей?
Вот код :
#!/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’);
ronin
Окт. 9, 2008 19:35:39
Прописал и нехера:
resultset = cursor.fetchall()
for row in resultset:
for c in row:
print “<li>%s </li>” % c
print “</ul>”
slivlen
Окт. 9, 2008 20:07:56
ronin
Прописал и нехера:
А что значит нехера? Это эксепшен такой? =)
pythonwin
Окт. 10, 2008 06:39:09
ronin, соблюдай, пожалуйста, правила форума:
На форуме запрещается:
-использовать нецензурные выражения в заголовке и теле послания;
ronin
Окт. 10, 2008 13:22:21
pythonwin
Извените, больше этого не повториться. Тот вариант кода, что мне предложили не выводит данные всех полей.
Код изменен, но смысл тот же. За чем было два раза цикл пихать?
for row in resultset:
for c in row:
print “<li>%s </li>” %c
и
for row in resultset:
print “<li>%s </li>” % row
Те же яйца, только в профиль ))))