Reputation: 141
I am using an Ubuntu terminal. I've found answers about running .sql files, and how to save query results to an external file. How can I do them both at the same time?
I've tried this command: source /path/to/file.sql into outfile /path/to/outfile.txt
.
I've tried to add into outfile /path/to/outfile.txt
directly into file.sql
and running source /path/to/outfile.sql
.
I've tried mysql -u <username> -p <database> file.sql > results.txt.
If I switch file.sql
with something like this -e "select * from myTable"
, then it works fine.
How can I do this?
EDIT: Here is file.sql
select myID from Players where score > 80;
It's a simple query, but if I can figure this thing out, I can try to do bigger queries.
Upvotes: 11
Views: 25215
Reputation: 141
@FLefèvre has a solution but I couldn't get it to work. It just outputted a MySQL help page where it shows the different commands.
Add this to the sql file: .... into outfile '/path/to/outfile.txt'
. Single or double quotations on the path. And then in the MySQL shell, just do source /path/to/file.sql
.
Upvotes: 1
Reputation: 692
Your answer is here: http://dev.mysql.com/doc/refman/5.7/en/mysql.html
You can execute SQL statements in a script file (batch file) like this:
shell> mysql db_name < script.sql > output.tab
Try this: mysql -u username -p database < file.sql > results.txt
Upvotes: 18