Скрипты Windows для исключения запроса - PullRequest
0 голосов
/ 22 февраля 2011

Я использую приложение, которое может запускать такие скрипты, как wsh, vbs, bat.Также возможна «передача» параметров в сценарии.Я хотел выполнить запрос INSERT в базу данных Mysql, как мне это сделать?Приложение работает примерно так:

myscript NameTable, string1, string2, string3

Спасибо за совет

1 Ответ

1 голос
/ 22 февраля 2011

Ссылка

Чтобы запустить пакетный скрипт из командной строки операционной системы, введите в командной строке что-то вроде этого:

mysql -uusername -ppassword -e "set @ 1: = 'some value'; source run.sql;"

Это может быть расширено, как вам нравится.Кроме того, вы можете поместить все в run.sql.

Для этого нужно только:

(i) программа mysql в текущей папке или по пути

(ii) run.sql в текущей папке

Передача параметров клиентскому сценарию MySQL из сценария оболочки:

echo SELECT @foo> /tmp/myscript.sql echo SET @foo: = 'бар';> /tmp/setvar.sql echo SOURCE /tmp/setvar.sql;SOURCE /tmp/myscript.sql;> /tmp/turnkey.sql mysql -uUSR -pPWD

В Windows интерфейс клиентских сценариев MySQL может быть привередливым.Замените свое имя пользователя и пароль MySQL для USR и PWD, тогда этот пример работает:

, если не существует c: \ tmp md c: \ tmp echo Показать таблицы из test> c: \ tmp \ test.sql "c: \ program files \ MySQL \ MySQL Server 6.0 \ bin \ mysql.exe "-uUSR -pPWD -e" source c: \ tmp \ test.sql "

Например, для параметризации файла загрузки данных:

REM Пакетный файл mysqlLDI.BAT для параметризации команды MySQL LOAD DATA INFILE: REM Вызов с% 1 = входное имя файла,% 2 = db.table echo LOAD DATA INFILE '% 1' INTO TABLE% 2 LINES TERMINATED BY "\r \ n "> \ tmp \ doit.sql mysql -uUSR -pPWD

...