Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

In kết quả ở định dạng MySQL bằng Python

Không cần thư viện bên ngoài. In ra dữ liệu với tên cột. Tất cả các dòng có biến 'cột' có thể bị loại bỏ nếu bạn không cần tên cột.

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)

Đây là kết quả:

+--------+---------+---------------+------------+------------+
| 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 |
+--------+---------+---------------+------------+------------+

Điều kỳ diệu nằm ở cột thứ ba của mỗi cursor.description dòng (được gọi là cd[2] trong mã). Cột này thể hiện độ dài tính bằng ký tự của giá trị dài nhất. Do đó, chúng tôi đặt kích thước cột được hiển thị càng lớn giữa cột đó và độ dài của chính tiêu đề cột (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. Làm thế nào để chuyển đổi mssql script sang mysql

  2. Không thể chọn 'OK' trong mysql-apt-config [Ubuntu 14.04]

  3. Di chuyển db Laravel - lỗi đổi tênColumn - Đã yêu cầu loại cơ sở dữ liệu không xác định

  4. Tôi không thể sử dụng các hàm mysql_ * sau khi nâng cấp PHP

  5. python MySQLDB truy vấn hết thời gian chờ