Mysql Command Line Client

From NovaOrdis Knowledge Base
Revision as of 02:10, 30 December 2023 by Ovidiu (talk | contribs) (→‎-e, --execute=name)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Internal

Options

-e, --execute=name

Execute command and quit.

==-D, --database=name

Specify the database to use.

Connect

mysql -u root -p

Will challenge for password.

mysql -u root -p<password>

No space after -p.

The username and password can also be stored in ~/.my.cnf:

[client]
user = root
password = XXXXXXXX

Scripting Database Interaction

mysql -u root -p<password> < statements.sql

where statements.sql should contain SQL:

SELECT VERSION();
...

Alternatively:

mysql -u root -p<password> -e "SELECT VERSION()"

The command sends the result to stdout. If the select query produces no results, the stdout is the empty string:

local result
result=$(mysql -u root -p${database_root_password} -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='${database_name}'")
if [[ -n ${result} ]]; then
  echo "database exists"
else 
  echo "database does not exist"
fi