Наиболее популярная клиентская программа для работы с MySQL – mysql, простейший SQL shell.
Рассмотрим примеры ее использования.
Стандартная форма запуска:
shell> mysql -u<username> -p<password>
-u<имя пользователя> (или –username=<имя пользователя>). После ключа -u может стоять или отсутствовать пробел.
-p<пароль> (или –password=<пароль>) После ключа -p также может быть пробел. Если ввести ключ -p, не указав пароль, то пароль нужно будет ввести в отдельном приглашении.
Запуск с SQL выражением:
shell> mysql -u<username> -p<password> -e “<statement>”
Запуск с дополнительным файлом параметров:
shell> mysql –defaults-file=file_name . . .
Перенаправить вывод в файл:
shell> mysql . . . -e “<statement>” > file_name
Выполнить SQL команды, содержащиеся в файле file_name.sql:
shell> mysql . . . < file_name.sql
Опция Safe Updates.
Удобная опция для начинающих пользователей. Защищает от случайного выполнения таких потенциально опасных команд, как UPDATE и DELETE, выполненных без условий WHERE или LIMIT по всей таблице. Кроме того данная опция ограничивает вывод команды SELECT.
Чтобы использовать эту опцию, необходимо добавить –safe-updates при запуске клиента mysql:
shell> mysql . . . –safe-updates
После этого выполнить UPDATE или DELETE будет возможно только, если в конструкции WHERE будет задаваться какое-то условие по полю таблицы, на которое создан констрейнт, либо задано ограничение с помощью конструкции LIMIT.
Например:
UPDATE table1 SET not_key_col=val WHERE key_col=val;
UPDATE table1 SET not_key_col=val LIMIT 1;
В противном случае мы получим ошибку:
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option …
Кроме того данная опция ограничивает:
– максимальное количество строк при выборке из одной таблицы (команда SELECT) значением 1000 строк;
– не позволит сделать выборку (SELECT) из нескольких таблиц, если запрос должен вернуть более 1 000 000 строк.