PostgreSQL迭代

时间:2018-11-09 19:55:13

标签: python-3.x postgresql

我一直在练习如何查询 PostgreSQL 数据库,因为它是新数据库,但面临挑战。     我想使用关键词输入来查询我的数据库,以便[输入]在数据库中查询该动物的记录,和( 打印 )仅显示( ROW )或表明它不存在,但失败了。

我不确定要用python写下哪种格式。但是我确实需要帮助来解决这个问题。 &我的表格制作完成后,会以乱序的形式出现。我希望每一行都打印在下一行上,我已经尽力了,但是也失败了。

import os
import psycopg2.extensions


def clear_screen():
    os.system('cls' if os.name == 'nt' else 'clear')


def begin():
    clear_screen()
    print("""
    OLD LIFE WILDLIFE CENTER!!!
        YOUR WELCOME
    """)
    input("press Enter/return to start£")
    clear_screen()


begin()


def quick_search():
    animal = input("keyWord search:.").lower()


class DatabaseConnection:
    def __init__(self):
        self.flash_db = psycopg2.connect(database='wildlife', user='postgres', password='poll£56', host='localhost')
        self.cur = self.flash_db.cursor()
        print("Database connected")

    def query_table(self):
         self.cur = self.flash_db.cursor()
         self.cur.execute('SELECT ID,NAME,LIVES,WEIGHT,LEGS ,CLASS,NUMBER,CATEGORY FROM CAGE')

        rows = self.cur.fetchall()
        while True:
            print(rows)
            break


quick_search()


if __name__ == '__main__':
    database_connection = DatabaseConnection()
    database_connection.query_table()

clear_screen()

这是查询数据库的结果。杂乱无章。

keyWord search:.lion
Database connected
[(1, 'LION', 'DEN', '190                           ', 4, 
'CARNIVORES', 21, 'MAMMAL'), (2, 'TIGER', 'JUNGLE', '360                           
', 4, 'CARNIVORES', 2, 'MAMMAL'), (3, 'ZEBRA', 
'SAVANNAH', '180                           ', 4, 
'HERBIVORES', 90, 'MAMMAL'), (4, 'CHICKEN', 'PEN', '5                             
', 2, 'OMNIVORES', 1000, 'BIRDS'), (5, 'FISH', 'WATER', 
'3', 0, 'OMNIVORES', 10000,'FISH'), (6, 'SNAKES', 
'JUNGLE', '2.7', 0, 'OMNIVORES', 1, 'REPTILE'), (7, 
'CROCODILE', 'WATER', '400                           ', 
10, 'CARIVORES', 7, 'REPTILE')]

0 个答案:

没有答案