1

Mysql 默认以 mysql 表格格式打印表格结果

+----+----------+-------------+
| id | name     | is_override |
+----+----------+-------------+
|  1 | Combined |           0 |
|  2 | Standard |           0 |
+----+----------+-------------+

从 unix shell 调用 mysql 时,不会保留此表格式,但通过 -t 选项很容易请求它

mysql -t my_schema < my_query_file.sql

使用 Ruby 时,我使用 mysql gem 来返回结果。由于 gem 以散列形式返回数据,因此没有保留表格格式的选项。但是,有什么方法可以轻松打印具有该格式的哈希/数据?无需计算间距等?

db = Mysql.new(my_database, my_username, my_password, my_schema)
result = db.query("select * from my_table")
result.each_hash { |h|
   # Print row. Any way to print it with formatting here?
   puts h 
}
4