Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cetak hasil dalam format MySQL dengan Python

Tidak perlu perpustakaan eksternal. Mencetak data dengan nama kolom. Semua baris dengan variabel 'kolom' dapat dihilangkan jika Anda tidak memerlukan nama kolom.

sql = "SELECT * FROM someTable"
cursor.execute(sql)
conn.commit()
results = cursor.fetchall()

widths = []
columns = []
tavnit = '|'
separator = '+' 

for cd in cursor.description:
    widths.append(max(cd[2], len(cd[0])))
    columns.append(cd[0])

for w in widths:
    tavnit += " %-"+"%ss |" % (w,)
    separator += '-'*w + '--+'

print(separator)
print(tavnit % tuple(columns))
print(separator)
for row in results:
    print(tavnit % row)
print(separator)

Ini adalah outputnya:

+--------+---------+---------------+------------+------------+
| ip_log | user_id | type_id       | ip_address | time_stamp |
+--------+---------+---------------+------------+------------+
| 227    | 1       | session_login | 10.0.0.2   | 1358760386 |
| 140    | 1       | session_login | 10.0.0.2   | 1358321825 |
| 98     | 1       | session_login | 10.0.0.2   | 1358157588 |
+--------+---------+---------------+------------+------------+

Keajaiban terletak di kolom ketiga dari setiap cursor.description baris (disebut cd[2] dalam kode). Kolom ini mewakili panjang karakter dengan nilai terpanjang. Jadi kami mengukur kolom yang ditampilkan sebagai yang lebih besar antara itu dan panjang header kolom itu sendiri (max(cd[2], len(cd[0])) ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan MySQL digantung dan harus mematikan prosesnya

  2. Hapus duplikat dalam daftar objek dengan Python

  3. Sesi MySQL Workbench tidak melihat pembaruan ke database

  4. Praktik Terbaik dalam Penskalaan Basis Data:Bagian 1

  5. Memformat larik PHP untuk klausa SQL IN