Odpowiedzi:
Wywołaj mysql z opcją -N
(alias dla -N
is --skip-column-names
):
mysql -N ...
use testdb;
select * from names;
+------+-------+
| 1 | pete |
| 2 | john |
| 3 | mike |
+------+-------+
3 rows in set (0.00 sec)
Podziękowania dla ErichBSchulz za wskazanie aliasu -N.
Aby usunąć siatkę (pionowe i poziome linie) wokół wyników, użyj -s
( --silent
). Kolumny są oddzielone TAB
znakiem.
mysql -s ...
use testdb;
select * from names;
id name
1 pete
2 john
3 mike
Aby wyprowadzić dane bez nagłówków i siatki, użyj obu -s
i -N
.
mysql -sN ...
TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS
...
set feedback on
i set feedback off
może być używany w dowolnym miejscu sesji. Czy MySQL ma odpowiednik? Wygląda na to, że właśnie tego szukał OP.
Możesz to udawać w ten sposób:
-- with column headings
select column1, column2 from some_table;
-- without column headings
select column1 as '', column2 as '' from some_table;
Error: Type mismatch: expected type string, but got
błąd z pustym aliasem
select column1 as ' ', column2 as ' ' from some_table;
-N