Files
medicus/MedicusWithClaude/explore_db.py

46 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Průzkum Medicus databáze výpis tabulek a jejich sloupců.
"""
import fdb
conn = fdb.connect(
dsn=r'localhost:c:\medicus 3\data\medicus.fdb',
user='SYSDBA',
password='masterkey',
charset='win1250'
)
cur = conn.cursor()
# Všechny uživatelské tabulky
cur.execute("""
SELECT rdb$relation_name
FROM rdb$relations
WHERE rdb$view_blr IS NULL
AND (rdb$system_flag IS NULL OR rdb$system_flag = 0)
ORDER BY rdb$relation_name
""")
tables = [row[0].strip() for row in cur.fetchall()]
print(f"Počet tabulek: {len(tables)}\n")
print("=== SEZNAM TABULEK ===")
for t in tables:
print(f" {t}")
print("\n=== SLOUPCE KAŽDÉ TABULKY ===")
for table in tables:
cur.execute("""
SELECT rf.rdb$field_name, f.rdb$field_type, f.rdb$field_length
FROM rdb$relation_fields rf
JOIN rdb$fields f ON rf.rdb$field_source = f.rdb$field_name
WHERE rf.rdb$relation_name = ?
ORDER BY rf.rdb$field_position
""", (table,))
cols = cur.fetchall()
col_names = [c[0].strip() for c in cols]
print(f"\n{table}")
print(" " + ", ".join(col_names))
cur.close()
conn.close()