Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 7, 2008 10:35:34

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

знаю, что список колонок для заданной таблицы можно получить с помощью обращения к INFORMATION_SCHEMA

SELECT * FROM INFORMATION_SCHEMA.COLUMNS  WHERE TABLE_NAME = 'table_name'
как-то проще это можно сделать?



Офлайн

#2 Окт. 7, 2008 11:10:30

Viper
От:
Зарегистрирован: 2006-11-08
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

Если тебе нужны названия колонок после выполнения селекта, то у курсора есть атрибут description с описанием полей.



Офлайн

#3 Окт. 7, 2008 11:13:13

PyBird
От:
Зарегистрирован: 2008-10-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

Получить информацию о конкретной таблице можно с помощью команды

describe имя_таблицы



Офлайн

#4 Окт. 7, 2008 11:14:48

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

Viper
у курсора есть атрибут description с описанием полей
да, именно то, что нужно!
спасибо!

PyBird, попробую. тоже спасибо!



Отредактировано (Окт. 7, 2008 11:16:29)

Офлайн

#5 Окт. 9, 2008 17:22:51

ronin
От:
Зарегистрирован: 2008-10-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

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

#!/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’);



Офлайн

#6 Окт. 9, 2008 19:16:05

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

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



Офлайн

#7 Окт. 9, 2008 19:35:39

ronin
От:
Зарегистрирован: 2008-10-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

Прописал и нехера:
resultset = cursor.fetchall()
for row in resultset:
for c in row:
print “<li>%s </li>” % c
print “</ul>”



Офлайн

#8 Окт. 9, 2008 20:07:56

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

ronin
Прописал и нехера:
А что значит нехера? Это эксепшен такой? =)



Офлайн

#9 Окт. 10, 2008 06:39:09

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

ronin, соблюдай, пожалуйста, правила форума:

На форуме запрещается:
-использовать нецензурные выражения в заголовке и теле послания;



Офлайн

#10 Окт. 10, 2008 13:22:21

ronin
От:
Зарегистрирован: 2008-10-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: получить список колонок

pythonwin
Извените, больше этого не повториться. Тот вариант кода, что мне предложили не выводит данные всех полей.
Код изменен, но смысл тот же. За чем было два раза цикл пихать?

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

и

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

Те же яйца, только в профиль ))))



Отредактировано (Окт. 10, 2008 15:42:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version